mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 09:20:13 -04:00
ksmbd: use scoped_with_init_fs() for filesystem info path lookup
Use scoped_with_init_fs() to temporarily override current->fs for the kern_path() call in smb2_get_info_filesystem() so the share path lookup happens in init's filesystem context. All ksmbd paths ← SMB command handlers ← handle_ksmbd_work() ← workqueue ← ksmbd_conn_handler_loop() ← kthread Link: https://patch.msgid.link/20260601-work-kthread-nullfs-v4-14-77ee053060e0@kernel.org Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include <net/addrconf.h>
|
||||
#include <linux/syscalls.h>
|
||||
#include <linux/namei.h>
|
||||
#include <linux/fs_struct.h>
|
||||
#include <linux/statfs.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/falloc.h>
|
||||
@@ -5867,7 +5868,8 @@ static int smb2_get_info_filesystem(struct ksmbd_work *work,
|
||||
if (!share->path)
|
||||
return -EIO;
|
||||
|
||||
rc = kern_path(share->path, LOOKUP_NO_SYMLINKS, &path);
|
||||
scoped_with_init_fs()
|
||||
rc = kern_path(share->path, LOOKUP_NO_SYMLINKS, &path);
|
||||
if (rc) {
|
||||
pr_err("cannot create vfs path\n");
|
||||
return -EIO;
|
||||
|
||||
Reference in New Issue
Block a user