On 4/3/24 3:02 AM, Chen Hanxiao wrote:
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 will remove "namlen=" option in a NFSv4 mount,
and give a warning message in verbose mode.
Signed-off-by: Chen Hanxiao <chenhx.fnst@xxxxxxxxxxx>
Committed... (tag: nfs-utils-2-7-1-rc6
steved.
---
utils/mount/stropts.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index dbdd11e7..a92c4200 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -780,6 +780,14 @@ static int nfs_do_mount_v4(struct nfsmount_info *mi,
goto out_fail;
}
+ if (po_contains(options, "namlen")) {
+ po_remove_all(options, "namlen");
+ if (verbose) {
+ printf(_("%s: Ignore unsupported nfs4 mount option 'namlen' in '%s'\n"),
+ progname, *mi->extra_opts);
+ }
+ }
+
if (mi->version.v_mode != V_SPECIFIC) {
char *fmt;
switch (mi->version.minor) {