On 08/09/2018 02:28 PM, Daniel Gryniewicz wrote:
On 08/09/2018 02:17 PM, Rolf Anders wrote:
On Thu, Aug 09, 2018 at 12:42:48PM -0400, Daniel Gryniewicz wrote:
I'm confused, since the point of the of the patch was that chan->auth is never NULL. It should always have an auth (whether good or an error) in it. Can you debug and see where chan->auth is set to NULL?
With the patch nfs_rpc_callback_setup_gss() creates an AUTH structure via authnone_ncreate_dummy() and sets its ah_error.re_status to RPC_SYSTEMERROR. Afterwards nfs_rpc_create_chan_v40() checks this status with AUTH_FAILURE and sets chan->auth to NULL:
chan->auth = nfs_rpc_callback_setup_gss(chan, &clientid->cid_credential); [...] if (AUTH_FAILURE(chan->auth)) { err = rpc_sperror(&chan->auth->ah_error, "failed");
LogDebug(COMPONENT_NFS_CB, "%s", err); gsh_free(err); AUTH_DESTROY(chan->auth); chan->auth = NULL; return EINVAL; }
Gotcha, thanks. I'll look into it.
Daniel
Okay, here's a replacement ganesha patch. Leave ntirpc patched with the old patch. Can you try this? Daniel