fs: add kern_path_locked_negative()
The audit code relies on the fact that kern_path_locked() returned a path even for a negative dentry. If it doesn't find a valid dentry it immediately calls: audit_find_parent(d_backing_inode(parent_path.dentry)); which assumes that parent_path.dentry is still valid. But it isn't since kern_path_locked() has been changed to path_put() also for a negative dentry. Fix this by adding a helper that implements the required audit semantics and allows us to fix the immediate bleeding. We can find a unified solution for this afterwards. Link: https://lore.kernel.org/20250414-rennt-wimmeln-f186c3a780f1@brauner Fixes: 1c3cb50b ("VFS: change kern_path_locked() and user_path_locked_at() to never return negative dentry") Reported-and-tested-by:Vlastimil Babka <vbabka@suse.cz> Signed-off-by:
Christian Brauner <brauner@kernel.org>
Loading
Please register or sign in to comment