This patch set aims to fix up the NFS client when invoked from inside a container. It aims to ensure that upcalls use the correct user namespace when talking to the rpc.gssd and rpc.idmapd daemons. Trond Myklebust (9): SUNRPC: Cache cred of process creating the rpc_client NFS: Store the credential of the mount process in the nfs_server SUNRPC: Use the client user namespace when encoding creds SUNRPC: Use namespace of listening daemon in the client AUTH_GSS upcall NFS: Convert NFSv3 to use the container user namespace NFSv4: Convert the NFS client idmapper to use the container user namespace NFS: Convert NFSv2 to use the container user namespace NFS: When mounting, don't share filesystems between different user namespaces lockd: Store the lockd client credential in struct nlm_host fs/lockd/clntlock.c | 2 +- fs/lockd/host.c | 10 ++- fs/lockd/mon.c | 1 + fs/nfs/client.c | 7 ++ fs/nfs/internal.h | 1 + fs/nfs/mount_clnt.c | 2 + fs/nfs/nfs2xdr.c | 58 +++++++++----- fs/nfs/nfs3client.c | 1 + fs/nfs/nfs3xdr.c | 142 ++++++++++++++++++++------------- fs/nfs/nfs4client.c | 6 ++ fs/nfs/nfs4idmap.c | 27 +++++-- fs/nfs/super.c | 17 ++++ fs/nfsd/nfs4callback.c | 1 + include/linux/lockd/bind.h | 1 + include/linux/lockd/lockd.h | 4 +- include/linux/nfs_fs_sb.h | 3 + include/linux/sunrpc/clnt.h | 2 + net/sunrpc/auth_gss/auth_gss.c | 63 +++++++++++---- net/sunrpc/auth_unix.c | 9 ++- net/sunrpc/clnt.c | 7 ++ net/sunrpc/rpcb_clnt.c | 9 ++- 21 files changed, 267 insertions(+), 106 deletions(-) -- 2.21.0