]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
fs/smb/client: add verbose error logging for UNC parsing
authorFredric Cover <FredTheDude@proton.me>
Sun, 29 Mar 2026 01:47:53 +0000 (18:47 -0700)
committerSteve French <stfrench@microsoft.com>
Mon, 6 Apr 2026 00:58:40 +0000 (19:58 -0500)
Add cifs_dbg(VFS, ...) statements to smb3_parse_devname() to provide
explicit feedback when parsing fails. Currently, the function returns
-EINVAL silently, making it difficult to debug mount failures caused
by malformed paths or missing share names.

Signed-off-by: Fredric Cover <FredTheDude@proton.me>
Acked-by: Henrique Carvalho <[2]henrique.carvalho@suse.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/fs_context.c

index a46764c247107d182dce92b4690e5fbef0c57e21..3f0faae99ed52c117d363b94a8c8581142d1b2e6 100644 (file)
@@ -662,13 +662,17 @@ smb3_parse_devname(const char *devname, struct smb3_fs_context *ctx)
 
        /* make sure we have a valid UNC double delimiter prefix */
        len = strspn(devname, delims);
-       if (len != 2)
+       if (len != 2) {
+               cifs_dbg(VFS, "UNC: path must begin with // or \\\\\n");
                return -EINVAL;
+       }
 
        /* find delimiter between host and sharename */
        pos = strpbrk(devname + 2, delims);
-       if (!pos)
+       if (!pos) {
+               cifs_dbg(VFS, "UNC: missing delimiter between hostname and share name\n");
                return -EINVAL;
+       }
 
        /* record the server hostname */
        kfree(ctx->server_hostname);
@@ -681,8 +685,10 @@ smb3_parse_devname(const char *devname, struct smb3_fs_context *ctx)
 
        /* now go until next delimiter or end of string */
        len = strcspn(pos, delims);
-       if (!len)
+       if (!len) {
+               cifs_dbg(VFS, "UNC: missing share name\n");
                return -EINVAL;
+       }
 
        /* move "pos" up to delimiter or NULL */
        pos += len;