net: dns_resolver: allow shorter names in dns_query()

Customer reported a problem with mounting CIFS shares where the server
hostname was 2 chars long.  Turned out that the CIFS client wasn't
able to resolve NetBIOS names shorter than 3 chars.

Fix this by allowing a minimum of one character per hostname in
dns_query().

Reproducer with samba server:

  # 'ab' and 'srv' hotnames resolve to same ip address
  $ ssh srv ln -s 'msdfs:\\ab\\share' /home/shares/dfs/link1
  $ mount.cifs //srv/dfs/link1 /mnt -o ... [EINVAL]

Reported-by: Pierguido Lambri <plambri@redhat.com>
Signed-off-by: Paulo Alcantara <pc@manguebit.org>
Acked-by: David Howells <dhowells@redhat.com>
Acked-by: Frank Sorenson <sorenson@redhat.com>
Link: https://patch.msgid.link/20260722-net-dns_resolver-v1-1-c3385898ccf9@manguebit.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Paulo Alcantara
2026-07-27 18:25:36 -07:00
committed by Jakub Kicinski
parent 0b7763e3a0
commit a50eba1e77
+1 -1
View File
@@ -72,7 +72,7 @@ int dns_query(struct net *net,
kenter("%s,%*.*s,%zu,%s",
type, (int)namelen, (int)namelen, name, namelen, options);
if (!name || namelen < 3 || namelen > 255)
if (!name || namelen < 1 || namelen > 255)
return -EINVAL;
if (type && *type == '\0')
return -EINVAL;