X-Git-Url: http://git.cascardo.info/?p=cascardo%2Flinux.git;a=blobdiff_plain;f=security%2Finode.c;h=acc3e9c8d5a7bbad971df62ef31f57ef95c8396c;hp=a09639bd139885d67a7a99c83e7a9923e2b55198;hb=2ab704a47e0f27df758840a589aec3298dbb98dd;hpb=d282b9c0ac9f7fb5dff5b146e37cf820c610dacc diff --git a/security/inode.c b/security/inode.c index a09639bd1398..acc3e9c8d5a7 100644 --- a/security/inode.c +++ b/security/inode.c @@ -185,24 +185,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);