]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
cifs: Treat unhandled directory name surrogate reparse points as mount directory...
authorPali Rohár <pali@kernel.org>
Tue, 17 Sep 2024 22:28:25 +0000 (00:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 Mar 2025 19:54:19 +0000 (12:54 -0700)
commit7ece63c977c11979007c2b65b3cc4bb6eabc1aab
tree9b895a8e6ff5113ab97fa4d9893d8601fe1c1ea7
parent317fb015fe58d32e3c6f10f194edde2cab1100ce
cifs: Treat unhandled directory name surrogate reparse points as mount directory nodes

[ Upstream commit b587fd128660d48cd2122f870f720ff8e2b4abb3 ]

If the reparse point was not handled (indicated by the -EOPNOTSUPP from
ops->parse_reparse_point() call) but reparse tag is of type name surrogate
directory type, then treat is as a new mount point.

Name surrogate reparse point represents another named entity in the system.

From SMB client point of view, this another entity is resolved on the SMB
server, and server serves its content automatically. Therefore from Linux
client point of view, this name surrogate reparse point of directory type
crosses mount point.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/client/inode.c
fs/smb/common/smbfsctl.h