• Paul Moore's avatar
    lsm: add the inode_free_security_rcu() LSM implementation hook · 63dff3e4
    Paul Moore authored
    The LSM framework has an existing inode_free_security() hook which
    is used by LSMs that manage state associated with an inode, but
    due to the use of RCU to protect the inode, special care must be
    taken to ensure that the LSMs do not fully release the inode state
    until it is safe from a RCU perspective.
    
    This patch implements a new inode_free_security_rcu() implementation
    hook which is called when it is safe to free the LSM's internal inode
    state.  Unfortunately, this new hook does not have access to the inode
    itself as it may already be released, so the existing
    inode_free_security() hook is retained for those LSMs which require
    access to the inode.
    
    Cc: stable@vger.kernel.org
    Reported-by: syzbot+5446fbf332b0602ede0b@syzkaller.appspotmail.com
    Closes: https://lore.kernel.org/r/00000000000076ba3b0617f65cc8@google.comSigned-off-by: default avatarPaul Moore <paul@paul-moore.com>
    63dff3e4
security.c 166 KB