1
linux/fs/nfs
Chuck Lever eb54d43707 NFS: Fix security flavor negotiation with legacy binary mounts
Darrick J. Wong <darrick.wong@oracle.com> reports:
> I have a kvm-based testing setup that netboots VMs over NFS, the
> client end of which seems to have broken somehow in 3.10-rc1.  The
> server's exports file looks like this:
>
> /storage/mtr/x64	192.168.122.0/24(ro,sync,no_root_squash,no_subtree_check)
>
> On the client end (inside the VM), the initrd runs the following
> command to try to mount the rootfs over NFS:
>
> # mount -o nolock -o ro -o retrans=10 192.168.122.1:/storage/mtr/x64/ /root
>
> (Note: This is the busybox mount command.)
>
> The mount fails with -EINVAL.

Commit 4580a92d44 "NFS: Use server-recommended security flavor by
default (NFSv3)" introduced a behavior regression for NFS mounts
done via a legacy binary mount(2) call.

Ensure that a default security flavor is specified for legacy binary
mount requests, since they do not invoke nfs_select_flavor() in the
kernel.

Busybox uses klibc's nfsmount command, which performs NFS mounts
using the legacy binary mount data format.  /sbin/mount.nfs is not
affected by this regression.

Reported-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Darrick J. Wong <darrick.wong@oracle.com>
Acked-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2013-05-30 16:31:34 -04:00
..
blocklayout make blkdev_put() return void 2013-05-07 02:16:31 -04:00
objlayout treewide: Fix typo in printks 2013-04-12 15:21:36 +02:00
cache_lib.c NFS: simplify and clean cache library 2013-02-15 10:43:36 -05:00
cache_lib.h NFS: simplify and clean cache library 2013-02-15 10:43:36 -05:00
callback_proc.c NFSv4.1 Fix a pNFS session draining deadlock 2013-05-20 14:20:14 -04:00
callback_xdr.c NFSv4.1 Fix a pNFS session draining deadlock 2013-05-20 14:20:14 -04:00
callback.c nfs: allow the v4.1 callback thread to freeze 2013-04-05 17:03:52 -04:00
callback.h
client.c NFSv4.1: Set the RPC_CLNT_CREATE_INFINITE_SLOTS flag for NFSv4.1 transports 2013-04-14 12:59:28 -04:00
delegation.c nfs: remove unnecessary check for NULL inode->i_flock from nfs_delegation_claim_locks 2013-04-10 15:40:31 -04:00
delegation.h NFSv4: Fix CB_RECALL_ANY to only return delegations that are not in use 2013-04-05 17:03:57 -04:00
dir.c NFSv4.1: Enable open-by-filehandle 2013-03-25 12:04:11 -04:00
direct.c
dns_resolve.c SUNRPC: remove "cache_request" argument in sunrpc_cache_pipe_upcall() function 2013-02-15 10:43:47 -05:00
dns_resolve.h
file.c NFS: Ensure that NFS file unlock waits for readahead to complete 2013-04-08 22:12:42 -04:00
fscache-index.c
fscache.c
fscache.h
getroot.c nfs: remove kfree() redundant null checks 2013-02-17 15:27:21 -05:00
idmap.c NFSv4: Fix the string length returned by the idmapper 2013-03-20 16:45:16 -04:00
inode.c NFS: Add functionality to allow waiting on all outstanding reads to complete 2013-04-08 22:12:33 -04:00
internal.h NFS: Add functionality to allow waiting on all outstanding reads to complete 2013-04-08 22:12:33 -04:00
iostat.h
Kconfig
Makefile
mount_clnt.c
namespace.c
netns.h
nfs2super.c
nfs2xdr.c
nfs3acl.c
nfs3client.c
nfs3proc.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
nfs3super.c
nfs3xdr.c
nfs4_fs.h NFSv4.1: Ensure that we free the lock stateid on the server 2013-05-06 17:24:27 -04:00
nfs4client.c NFS: Fix SETCLIENTID fallback if GSS is not available 2013-05-23 18:50:40 -04:00
nfs4file.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
nfs4filelayout.c NFSv4: The stateid must remain the same for replayed RPC calls 2013-03-25 12:04:10 -04:00
nfs4filelayout.h NFS4.1 Fix data server connection race 2013-05-08 17:19:32 -04:00
nfs4filelayoutdev.c NFS4.1 Fix data server connection race 2013-05-08 17:19:32 -04:00
nfs4getroot.c
nfs4namespace.c SUNRPC: Introduce rpcauth_get_pseudoflavor() 2013-03-29 15:43:07 -04:00
nfs4proc.c NFSv4: Fix a thinko in nfs4_try_open_cached 2013-05-29 16:03:23 -04:00
nfs4renewd.c
nfs4session.c NFSv4.1 Fix a pNFS session draining deadlock 2013-05-20 14:20:14 -04:00
nfs4session.h NFSv4.1 Fix a pNFS session draining deadlock 2013-05-20 14:20:14 -04:00
nfs4state.c NFSv4.1 Fix a pNFS session draining deadlock 2013-05-20 14:20:14 -04:00
nfs4super.c NFS: Use server-recommended security flavor by default (NFSv3) 2013-04-04 17:01:01 -04:00
nfs4sysctl.c
nfs4xdr.c NFSv4: Convert nfs41_free_stateid to use an asynchronous RPC call 2013-05-06 17:24:22 -04:00
nfs.h
nfsroot.c
pagelist.c NFS: Add functionality to allow waiting on all outstanding reads to complete 2013-04-08 22:12:33 -04:00
pnfs_dev.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
pnfs.c NFSv4: Fail I/O if the state recovery fails irrevocably 2013-03-25 12:04:10 -04:00
pnfs.h NFSv4.1: Add a helper pnfs_commit_and_return_layout 2013-03-21 10:31:21 -04:00
proc.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
read.c NFS: Don't accept more reads/writes if the open context recovery failed 2013-03-25 12:04:10 -04:00
super.c NFS: Fix security flavor negotiation with legacy binary mounts 2013-05-30 16:31:34 -04:00
symlink.c
sysctl.c
unlink.c NFS: Don't allow NFS silly-renamed files to be deleted, no signal 2013-02-22 14:55:34 -05:00
write.c NFS: Don't accept more reads/writes if the open context recovery failed 2013-03-25 12:04:10 -04:00