ksmbd: check if a mount point is crossed during path lookup
authorNamjae Jeon <linkinjeon@kernel.org>
Sun, 16 Jul 2023 23:37:40 +0000 (08:37 +0900)
committerSteve French <stfrench@microsoft.com>
Sun, 23 Jul 2023 15:25:11 +0000 (10:25 -0500)
commit2b57a4322b1b14348940744fdc02f9a86cbbdbeb
tree4a2e6816c749b031393636fe31091f4c17c76173
parent0266a2f791294e0b4ba36f4a1d89b8615ea3cac0
ksmbd: check if a mount point is crossed during path lookup

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>
fs/smb/server/ksmbd_netlink.h
fs/smb/server/smb2pdu.c
fs/smb/server/vfs.c
fs/smb/server/vfs.h