cifs: sanitize paths in cifs_update_super_prepath.
authorThiago Rafael Becker <tbecker@redhat.com>
Wed, 5 Apr 2023 13:16:48 +0000 (10:16 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Apr 2023 14:55:32 +0000 (16:55 +0200)
commitfb9ec305e7649aa76e6055d77cddd2bb691fd74a
treecf82c0a6757511d664d489e9c931841d8242a5e3
parent012c045d612806bcdc0d0db85393cb0589233f9f
cifs: sanitize paths in cifs_update_super_prepath.

[ Upstream commit d19342c6609b67f2ba83b9eccca2777e3687f625 ]

After a server reboot, clients are failing to move files with ENOENT.
This is caused by DFS referrals containing multiple separators, which
the server move call doesn't recognize.

v1: Initial patch.
v2: Move prototype to header.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2182472
Fixes: a31080899d5f ("cifs: sanitize multiple delimiters in prepath")
Actually-Fixes: 24e0a1eff9e2 ("cifs: switch to new mount api")
Reviewed-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Thiago Rafael Becker <tbecker@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/cifs/fs_context.c
fs/cifs/fs_context.h
fs/cifs/misc.c