From: Andrew Morton Signed-off-by: Andrew Morton --- include/linux/sunrpc/debug.h | 1 + net/sunrpc/svcsock.c | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff -puN include/linux/sunrpc/debug.h~git-nfsd-fixup include/linux/sunrpc/debug.h --- a/include/linux/sunrpc/debug.h~git-nfsd-fixup +++ a/include/linux/sunrpc/debug.h @@ -93,6 +93,7 @@ enum { CTL_RDMA_MAXINLINEWRITE, CTL_RDMA_WRITEPADDING, CTL_RDMA_MEMREG, + CTL_TRANSPORTS, }; #endif /* _LINUX_SUNRPC_DEBUG_H_ */ diff -puN net/sunrpc/svcsock.c~git-nfsd-fixup net/sunrpc/svcsock.c --- a/net/sunrpc/svcsock.c~git-nfsd-fixup +++ a/net/sunrpc/svcsock.c @@ -97,16 +97,18 @@ static struct lock_class_key svc_slock_k static inline void svc_reclassify_socket(struct socket *sock) { struct sock *sk = sock->sk; - BUG_ON(sock_owned_by_user(sk)); + switch (sk->sk_family) { case AF_INET: sock_lock_init_class_and_name(sk, "slock-AF_INET-NFSD", - &svc_slock_key[0], "sk_lock-AF_INET-NFSD", &svc_key[0]); + &svc_slock_key[0], "sk_xprt.xpt_lock-AF_INET-NFSD", + &svc_key[0]); break; case AF_INET6: sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFSD", - &svc_slock_key[1], "sk_lock-AF_INET6-NFSD", &svc_key[1]); + &svc_slock_key[1], "sk_xprt.xpt_lock-AF_INET6-NFSD", + &svc_key[1]); break; default: _