hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/fs/nfsd/nfs4callback.c
....@@ -875,8 +875,8 @@
875875 if (!kcred)
876876 return NULL;
877877
878
- kcred->uid = ses->se_cb_sec.uid;
879
- kcred->gid = ses->se_cb_sec.gid;
878
+ kcred->fsuid = ses->se_cb_sec.uid;
879
+ kcred->fsgid = ses->se_cb_sec.gid;
880880 return kcred;
881881 }
882882 }
....@@ -915,11 +915,8 @@
915915 args.authflavor = clp->cl_cred.cr_flavor;
916916 clp->cl_cb_ident = conn->cb_ident;
917917 } else {
918
- if (!conn->cb_xprt) {
919
- trace_nfsd_cb_setup_err(clp, -EINVAL);
918
+ if (!conn->cb_xprt)
920919 return -EINVAL;
921
- }
922
- clp->cl_cb_conn.cb_xprt = conn->cb_xprt;
923920 clp->cl_cb_session = ses;
924921 args.bc_xprt = conn->cb_xprt;
925922 args.prognumber = clp->cl_cb_session->se_cb_prog;
....@@ -939,6 +936,9 @@
939936 rpc_shutdown_client(client);
940937 return -ENOMEM;
941938 }
939
+
940
+ if (clp->cl_minorversion != 0)
941
+ clp->cl_cb_conn.cb_xprt = conn->cb_xprt;
942942 clp->cl_cb_client = client;
943943 clp->cl_cb_cred = cred;
944944 trace_nfsd_cb_setup(clp);