X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=security%2Finode.c;h=e3df905ab5b163fc4d423c8c7dff6d9609c63ba7;hb=76d5b28bbad1c5502a24f94c2beafc468690b2ba;hp=28414b0207ce58f1fdd8503da0f61a39ba5c7cfe;hpb=4dd638f8ac6b4ed020297b5d994d9346b84f2009;p=cascardo%2Flinux.git diff --git a/security/inode.c b/security/inode.c index 28414b0207ce..e3df905ab5b1 100644 --- a/security/inode.c +++ b/security/inode.c @@ -186,24 +186,21 @@ EXPORT_SYMBOL_GPL(securityfs_create_dir); */ void securityfs_remove(struct dentry *dentry) { - struct dentry *parent; + struct inode *dir; if (!dentry || IS_ERR(dentry)) return; - parent = dentry->d_parent; - if (!parent || d_really_is_negative(parent)) - return; - - inode_lock(d_inode(parent)); + dir = d_inode(dentry->d_parent); + inode_lock(dir); if (simple_positive(dentry)) { if (d_is_dir(dentry)) - simple_rmdir(d_inode(parent), dentry); + simple_rmdir(dir, dentry); else - simple_unlink(d_inode(parent), dentry); + simple_unlink(dir, dentry); dput(dentry); } - inode_unlock(d_inode(parent)); + inode_unlock(dir); simple_release_fs(&mount, &mount_count); } EXPORT_SYMBOL_GPL(securityfs_remove);