From: Jeff Layton Date: Wed, 18 Jul 2007 15:28:43 +0000 (-0400) Subject: NFSv4: handle lack of clientaddr in option string X-Git-Tag: v2.6.23-rc1~254^2 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a87cf128f3d3bc6aa7b1040e73109c974ed875a;p=linux-2.6 NFSv4: handle lack of clientaddr in option string If a NFSv4 mount is attempted with string based options, and the option string doesn't contain a clientaddr= option, the kernel will currently oops. Check for this situation and return a proper error. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/super.c b/fs/nfs/super.c index adffe1615c..b34b7a711d 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c @@ -1685,6 +1685,9 @@ static int nfs4_validate_mount_data(struct nfs4_mount_data **options, dprintk("MNTPATH: %s\n", *mntpath); + if (args.client_address == NULL) + goto out_no_client_address; + *ip_addr = args.client_address; break; @@ -1705,6 +1708,10 @@ out_inval_auth: out_no_address: dfprintk(MOUNT, "NFS4: mount program didn't pass remote address\n"); return -EINVAL; + +out_no_client_address: + dfprintk(MOUNT, "NFS4: mount program didn't pass callback address\n"); + return -EINVAL; } /*