• Christian Brauner's avatar
    fs: move audit parent inode · c65d41c5
    Christian Brauner authored
    
    
    During O_CREAT we unconditionally audit the parent inode. This makes it
    difficult to support a fastpath for O_CREAT when the file already exists
    because we have to drop out of RCU lookup needlessly.
    
    We worked around this by checking whether audit was actually active but
    that's also suboptimal. Instead, move the audit of the parent inode down
    into lookup_open() at a point where it's mostly certain that the file
    needs to be created.
    
    This also reduced the inconsistency that currently exists: while audit
    on the parent is done independent of whether or no the file already
    existed an audit on the file is only performed if it has been created.
    
    By moving the audit down a bit we emit the audit a little later but it
    will allow us to simplify the fastpath for O_CREAT significantly.
    Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
    c65d41c5
namei.c 143 KB