Commit 92978c83 authored by Kuniyuki Iwashima's avatar Kuniyuki Iwashima Committed by Chuck Lever
Browse files

nfsd: Fix cred ref leak in nfsd_nl_listener_set_doit().



nfsd_nl_listener_set_doit() uses get_current_cred() without
put_cred().

As we can see from other callers, svc_xprt_create_from_sa()
does not require the extra refcount.

nfsd_nl_listener_set_doit() is always in the process context,
sendmsg(), and current->cred does not go away.

Let's use current_cred() in nfsd_nl_listener_set_doit().

Fixes: 16a47117 ("NFSD: add listener-{set,get} netlink command")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarKuniyuki Iwashima <kuniyu@google.com>
Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 1cb968a2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2000,7 +2000,7 @@ int nfsd_nl_listener_set_doit(struct sk_buff *skb, struct genl_info *info)
		}

		ret = svc_xprt_create_from_sa(serv, xcl_name, net, sa, 0,
					      get_current_cred());
					      current_cred());
		/* always save the latest error */
		if (ret < 0)
			err = ret;