]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ksmbd: check if a mount point is crossed during path lookup
authorNamjae Jeon <linkinjeon@kernel.org>
Sun, 31 Dec 2023 07:12:52 +0000 (16:12 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jan 2024 14:18:31 +0000 (15:18 +0100)
commit0a9b91f45e88f99cfa30f03e80ca836b83b7f336
treed875a7009d70e9317de6c39ca1b6742d7bc5aad1
parentd782f42eed93b267cd013935c4a5426aeb9adfca
ksmbd: check if a mount point is crossed during path lookup

[ Upstream commit 2b57a4322b1b14348940744fdc02f9a86cbbdbeb ]

Since commit 74d7970febf7 ("ksmbd: fix racy issue from using ->d_parent and
->d_name"), ksmbd can not lookup cross mount points. If last component is
a cross mount point during path lookup, check if it is crossed to follow it
down. And allow path lookup to cross a mount point when a crossmnt
parameter is set to 'yes' in smb.conf.

Cc: stable@vger.kernel.org
Fixes: 74d7970febf7 ("ksmbd: fix racy issue from using ->d_parent and ->d_name")
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/server/ksmbd_netlink.h
fs/smb/server/smb2pdu.c
fs/smb/server/vfs.c
fs/smb/server/vfs.h