aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/super.c
diff options
context:
space:
mode:
authorWeston Andros Adamson <dros@netapp.com>2012-02-01 14:06:41 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-02-15 00:19:52 -0500
commit571b7554016941ef0f0c3c61be72561e2bc55f5e (patch)
treea8ad7cc44feb613af22775211d377606c737b575 /fs/nfs/super.c
parent2f09c24216cd789653eb8efbf8be88409eb8d581 (diff)
NFS: dont allow minorversion= opt when vers != 4
Don't allow invalid 'vers' and 'minorversion' combinations in mount options, such as "vers=3,minorversion=1". Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/super.c')
-rw-r--r--fs/nfs/super.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index d18a90ba165f..d05024a18984 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -1531,6 +1531,9 @@ static int nfs_parse_mount_options(char *raw,
1531 if (!sloppy && invalid_option) 1531 if (!sloppy && invalid_option)
1532 return 0; 1532 return 0;
1533 1533
1534 if (mnt->minorversion && mnt->version != 4)
1535 goto out_minorversion_mismatch;
1536
1534 /* 1537 /*
1535 * verify that any proto=/mountproto= options match the address 1538 * verify that any proto=/mountproto= options match the address
1536 * familiies in the addr=/mountaddr= options. 1539 * familiies in the addr=/mountaddr= options.
@@ -1564,6 +1567,10 @@ out_invalid_address:
1564out_invalid_value: 1567out_invalid_value:
1565 printk(KERN_INFO "NFS: bad mount option value specified: %s\n", p); 1568 printk(KERN_INFO "NFS: bad mount option value specified: %s\n", p);
1566 return 0; 1569 return 0;
1570out_minorversion_mismatch:
1571 printk(KERN_INFO "NFS: mount option vers=%u does not support "
1572 "minorversion=%u\n", mnt->version, mnt->minorversion);
1573 return 0;
1567out_nomem: 1574out_nomem:
1568 printk(KERN_INFO "NFS: not enough memory to parse option\n"); 1575 printk(KERN_INFO "NFS: not enough memory to parse option\n");
1569 return 0; 1576 return 0;