2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00

pstore: switch to locked_recursive_removal()

rather than playing with manual d_invalidate()

Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2025-03-10 00:34:08 -04:00
parent eacb58fdca
commit 7b7a8ca43f

View File

@ -300,7 +300,7 @@ static struct dentry *psinfo_lock_root(void)
return NULL;
root = pstore_sb->s_root;
inode_lock(d_inode(root));
inode_lock_nested(d_inode(root), I_MUTEX_PARENT);
return root;
}
@ -318,8 +318,7 @@ int pstore_put_backend_records(struct pstore_info *psi)
list_for_each_entry_safe(pos, tmp, &records_list, list) {
if (pos->record->psi == psi) {
list_del_init(&pos->list);
d_invalidate(pos->dentry);
simple_unlink(d_inode(root), pos->dentry);
locked_recursive_removal(pos->dentry, NULL);
pos->dentry = NULL;
}
}