namlen is not a valid option for NFSv4. Currently, we could pass a namlen=xxx in a NFSv4 mount, the mount command succeed and namlen is ignored silently # mount -o vers=4,namlen=100 192.168.122.19:/nfsroot /mnt/ -vvv mount.nfs: timeout set for Fri Mar 22 14:22:18 2024 mount.nfs: trying text-based options 'namlen=100,vers=4.2, addr=192.168.122.19,clientaddr=192.168.122.15' This patch reject "namlen=" option in a NFSv4 mount. Signed-off-by: Chen Hanxiao <chenhx.fnst@xxxxxxxxxxx> --- utils/mount/stropts.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c index dbdd11e7..028ff6a6 100644 --- a/utils/mount/stropts.c +++ b/utils/mount/stropts.c @@ -780,6 +780,15 @@ static int nfs_do_mount_v4(struct nfsmount_info *mi, goto out_fail; } + if (po_contains(options, "namlen")) { + if (verbose) { + printf(_("%s: Unsupported nfs4 mount option(s) passed '%s'\n"), + progname, *mi->extra_opts); + } + errno = EINVAL; + goto out_fail; + } + if (mi->version.v_mode != V_SPECIFIC) { char *fmt; switch (mi->version.minor) { -- 2.39.1