• Chris Coulson's avatar
    apparmor: delete the dentry in aafs_remove() to avoid a leak · 201218e4
    Chris Coulson authored
    Although the apparmorfs dentries are always dropped from the dentry cache
    when the usage count drops to zero, there is no guarantee that this will
    happen in aafs_remove(), as another thread might still be using it. In
    this scenario, this means that the dentry will temporarily continue to
    appear in the results of lookups, even after the call to aafs_remove().
    
    In the case of removal of a profile - it also causes simple_rmdir()
    on the profile directory to fail, as the directory won't be empty until
    the usage counts of all child dentries have decreased to zero. This
    results in the dentry for the profile directory leaking and appearing
    empty in the file system tree forever.
    Signed-off-by: default avatarChris Coulson <chris.coulson@canonical.com>
    Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
    201218e4
apparmorfs.c 62.9 KB