mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-24 19:40:21 +09:00
fix locking in efi_secret_unlink()
[ Upstream commit 2c58d42de71f9c73e40afacc9d062892d2cc8862 ] We used to need securityfs_remove() to undo simple_pin_fs() done when the file had been created and to drop the second extra reference taken at the same time. Now that neither is needed (or done by securityfs_remove()), we can simply call simple_unlink() and be done with that - the broken games with locking had been there only for the sake of securityfs_remove(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
327276cb8a
commit
270ea0b617
@@ -136,15 +136,7 @@ static int efi_secret_unlink(struct inode *dir, struct dentry *dentry)
|
||||
if (s->fs_files[i] == dentry)
|
||||
s->fs_files[i] = NULL;
|
||||
|
||||
/*
|
||||
* securityfs_remove tries to lock the directory's inode, but we reach
|
||||
* the unlink callback when it's already locked
|
||||
*/
|
||||
inode_unlock(dir);
|
||||
securityfs_remove(dentry);
|
||||
inode_lock(dir);
|
||||
|
||||
return 0;
|
||||
return simple_unlink(inode, dentry);
|
||||
}
|
||||
|
||||
static const struct inode_operations efi_secret_dir_inode_operations = {
|
||||
|
||||
Reference in New Issue
Block a user