From: Trond Myklebust Date: Fri, 21 Sep 2007 00:23:51 +0000 (-0400) Subject: NFSv4: Fix a bug in nfs4_validate_mount_data() X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;h=20c71f5e0f954b00d75009542db2c1f844d94a1e;hp=91ea40b9c6303ddab5c84f078f96b29084b45817;p=powerpc.git NFSv4: Fix a bug in nfs4_validate_mount_data() The previous patch introduced a bug when copying the server address. Also clarify a copy into the auth_flavours array: currently the two size calculations are equivalent, but we may decide to change the size of auth_flavors[] at some point. Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 63742bbcb1..3804aadc18 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c @@ -1541,7 +1541,7 @@ static int nfs4_validate_mount_data(void *options, goto out_no_address; if (copy_from_user(&args->nfs_server.address, data->host_addr, - sizeof(&args->nfs_server.address))) + sizeof(args->nfs_server.address))) return -EFAULT; if (args->nfs_server.address.sin_port == 0) args->nfs_server.address.sin_port = htons(NFS_PORT); @@ -1554,9 +1554,9 @@ static int nfs4_validate_mount_data(void *options, args->auth_flavors[0] = RPC_AUTH_UNIX; break; case 1: - if (copy_from_user(args->auth_flavors, + if (copy_from_user(&args->auth_flavors[0], data->auth_flavours, - sizeof(args->auth_flavors))) + sizeof(args->auth_flavors[0]))) return -EFAULT; break; default: