Loading security/inode.c +6 −5 Original line number Original line Diff line number Diff line Loading @@ -186,20 +186,21 @@ EXPORT_SYMBOL_GPL(securityfs_create_dir); */ */ void securityfs_remove(struct dentry *dentry) void securityfs_remove(struct dentry *dentry) { { struct dentry *parent; struct inode *dir; if (!dentry || IS_ERR(dentry)) if (!dentry || IS_ERR(dentry)) return; return; inode_lock(d_inode(parent)); dir = d_inode(dentry->d_parent); inode_lock(dir); if (simple_positive(dentry)) { if (simple_positive(dentry)) { if (d_is_dir(dentry)) if (d_is_dir(dentry)) simple_rmdir(d_inode(parent), dentry); simple_rmdir(dir, dentry); else else simple_unlink(d_inode(parent), dentry); simple_unlink(dir, dentry); dput(dentry); dput(dentry); } } inode_unlock(d_inode(parent)); inode_unlock(dir); simple_release_fs(&mount, &mount_count); simple_release_fs(&mount, &mount_count); } } EXPORT_SYMBOL_GPL(securityfs_remove); EXPORT_SYMBOL_GPL(securityfs_remove); Loading Loading
security/inode.c +6 −5 Original line number Original line Diff line number Diff line Loading @@ -186,20 +186,21 @@ EXPORT_SYMBOL_GPL(securityfs_create_dir); */ */ void securityfs_remove(struct dentry *dentry) void securityfs_remove(struct dentry *dentry) { { struct dentry *parent; struct inode *dir; if (!dentry || IS_ERR(dentry)) if (!dentry || IS_ERR(dentry)) return; return; inode_lock(d_inode(parent)); dir = d_inode(dentry->d_parent); inode_lock(dir); if (simple_positive(dentry)) { if (simple_positive(dentry)) { if (d_is_dir(dentry)) if (d_is_dir(dentry)) simple_rmdir(d_inode(parent), dentry); simple_rmdir(dir, dentry); else else simple_unlink(d_inode(parent), dentry); simple_unlink(dir, dentry); dput(dentry); dput(dentry); } } inode_unlock(d_inode(parent)); inode_unlock(dir); simple_release_fs(&mount, &mount_count); simple_release_fs(&mount, &mount_count); } } EXPORT_SYMBOL_GPL(securityfs_remove); EXPORT_SYMBOL_GPL(securityfs_remove); Loading