Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a92e5eb1 authored by Jeff Layton's avatar Jeff Layton Committed by J. Bruce Fields
Browse files

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: default avatarJeff Layton <jlayton@redhat.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 1654a04c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1317,10 +1317,10 @@ static ssize_t write_gssp(struct file *file, const char __user *buf,
		return res;
	if (i != 1)
		return -EINVAL;
	res = set_gss_proxy(net, 1);
	res = set_gssp_clnt(net);
	if (res)
		return res;
	res = set_gssp_clnt(net);
	res = set_gss_proxy(net, 1);
	if (res)
		return res;
	return count;