sunrpc: fix potential race between setting use_gss_proxy and the upcall rpc_clnt
authorJeff Layton <jlayton@redhat.com>
Sat, 4 Jan 2014 12:18:04 +0000 (07:18 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 6 Jan 2014 20:14:17 +0000 (15:14 -0500)
commita92e5eb1103341e985a575e48e26f87fbb9b1679
tree1664ccd9c43785c5daa99e76a641cacb53c546c8
parent1654a04cd702fd19c297c36300a6ab834cf8c072
sunrpc: fix potential race between setting use_gss_proxy and the upcall rpc_clnt

An nfsd thread can call use_gss_proxy and find it set to '1' but find
gssp_clnt still NULL, so that when it attempts the upcall the result
will be an unnecessary -EIO.

So, ensure that gssp_clnt is created first, and set the use_gss_proxy
variable only if that succeeds.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/auth_gss/svcauth_gss.c