Re: [regression] smb: client: - Failure to mount DFS namespaces without ASCII symbols

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 02, 2024 at 11:44:18AM +0200, Linux regression tracking (Thorsten Leemhuis) wrote:
> Hi, Thorsten here, the Linux kernel's regression tracker.
> 
> Paulo, I noticed a report about a regression in bugzilla.kernel.org that
> appears to be caused by this change of yours:
> 
> 3ae872de410751 ("smb: client: fix shared DFS root mounts with different
> prefixes") [v6.5-rc1]
> 
> As many (most?) kernel developers don't keep an eye on the bug tracker,
> I decided to write this mail. To quote from
> https://bugzilla.kernel.org/show_bug.cgi?id=219083 :
> 
> >  Gleb Korobeynikov 2024-07-22 10:59:46 UTC
> > 
> > Windows version of SMB host: Windows Server 2022 Standard x64
> > Kernel: 6.3.13(upstream)
~~~~~~~~~~~~^~~~ Testing with same WS2022 host with 6.11.0-rc1+

> > CONFIG_CIFS_DFS_UPCALL
> > 
> > In the function cifs_inval_name_dfs_link_error(), a check was added for tcon->origin_fullpath (3ae872de410751fe5e629e04da491a632d95201c). I believe it's unnecessary because when mounting a dfs name without ASCII characters, we always fail at this check and exit the function, leading to dfs namespaces not being mounted
> > 
> > Steps to reproduce:
> > 
> > 1. At Windows, create DFS namespace with name containing non-ASCII symbols (for example дфс)
> > 
> > 2. mount -t cifs \\\\<smb_server>\\дфс  /tmp/dfs -o domain=...,user=...,password=...
> > 
> > result:
> > mount error(2): No such file or directory
> > Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
> > 
I couldn't repro this issue.
I rebuilt the cifs modules both on master and in the recent 
for-next@cecb49e3594c2a69163865c214b71fff26d5761d sources:

	$ sudo mount -t cifs //WIN-31GSG2M9E6N/дфс /mnt/utf_repro -o `
		username=administrator,password=xxx
	$ ls -l /mnt/utf_repro
	total 0
	-rwxr-xr-x 1 root root 0 Aug  7 15:54 hello_cifs.txt
	drwxr-xr-x 2 root root 0 Aug  7 15:54 test_utf8_дфс

	// nothing outstanding in dmesg
	[430885.246220] CIFS: Attempting to mount //WIN-31GSG2M9E6N/дфс

Is there anything I might be missing?

> > CIFS debug log:
> > [Mon Jul 22 11:00:24 2024] CIFS: Status code returned 0xc0000033 STATUS_OBJECT_NAME_INVALID
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/smb2maperror.c: Mapping SMB2 status code 0xc0000033 to POSIX err -2
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/dfs_cache.c: dfs_cache_noreq_update_tgthint: path: \test.local\дфс
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: __cifs_put_smb_ses: ses_count=2
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: __cifs_put_smb_ses: ses ipc: \\test.local\IPC$
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: cifs_put_tcon: tc_count=1
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: VFS: in cifs_put_tcon as Xid: 17 with uid: 0
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/smb2pdu.c: Tree Disconnect
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/fscache.c: cifs_fscache_release_super_cookie: (0x0000000000000000)
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: __cifs_put_smb_ses: ses_count=1
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: __cifs_put_smb_ses: ses ipc: \\DC.test.local\IPC$
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: VFS: in __cifs_put_smb_ses as Xid: 18 with uid: 0
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/smb2pdu.c: disconnect session 00000000360c6881
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: __cifs_put_smb_ses: ses_count=1
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: __cifs_put_smb_ses: ses ipc: \\test.local\IPC$
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: VFS: in __cifs_put_smb_ses as Xid: 19 with uid: 0
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/smb2pdu.c: disconnect session 00000000db1ddbb6
> > [Mon Jul 22 11:00:24 2024] CIFS: fs/smb/client/connect.c: VFS: leaving cifs_mount_put_conns (xid = 13) rc = 0
> > [Mon Jul 22 11:00:24 2024] CIFS: VFS: cifs_mount failed w/return code = -2
> 
> And
> 
> >  Gleb Korobeynikov 2024-07-30 11:03:01 UTC
> > 
> > (In reply to Gleb Korobeynikov from comment #5)
> >> (In reply to The Linux kernel's regression tracker (Thorsten Leemhuis) from
> >> comment #4)
> >> > Please check if 6.10 (or 6.11-rc1 once it's out on Monday) is still
> >> affected
> >> 
> >> Alright, I will definitely check
> > 
> > Checked on 6.11-rc1. The reproduction issue happens identically.
> 
> See the ticket for more details.
> 
> Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
> --
> Everything you wanna know about Linux kernel regression tracking:
> https://linux-regtracking.leemhuis.info/about/#tldr
> If I did something stupid, please tell me, as explained on that page.
> 
> [1] because bugzilla.kernel.org tells users upon registration their
> "email address will never be displayed to logged out users"
> 
> P.S.: let me use this mail to also add the report to the list of tracked
> regressions to ensure it's doesn't fall through the cracks:
> 
> #regzbot introduced: 3ae872de410751fe5e629e04da491a632d95201c
> #regzbot title: smb: client: failure to mount DFS namespaces without
> ASCII symbols
> #regzbot from: Gleb Korobeynikov <gkorobeynikov@xxxxxxxxxxxxx>
> #regzbot duplicate: https://bugzilla.kernel.org/show_bug.cgi?id=219083
> #regzbot ignore-activity
>
Thanks,
Nandaa
 




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux