fs/smb/client: add verbose error logging for UNC parsing

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>
This commit is contained in:
Fredric Cover
2026-03-28 18:47:53 -07:00
committed by Steve French
parent 591cd656a1
commit b3f5c2a41a

View 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;