diff --git a/src/FSAL/FSAL_PROXY/fsal_nfsv4_macros.h b/src/FSAL/FSAL_PROXY/fsal_nfsv4_macros.h index aec529bf44..da85c733b5 100644 --- a/src/FSAL/FSAL_PROXY/fsal_nfsv4_macros.h +++ b/src/FSAL/FSAL_PROXY/fsal_nfsv4_macros.h @@ -66,9 +66,9 @@ do { \ op->nfs_argop4_u.opreclaim_complete.rca_one_fs = false; \ } while (0) -#define COMPOUNDV4_ARG_ADD_OP_CREATE_SESSION(opcnt, argarray, cid, seqid, info)\ +#define COMPOUNDV4_ARG_ADD_OP_CREATE_SESSION(opcnt, argarray, cid, \ + seqid, info, sec_parms4) \ do { \ - callback_sec_parms4 csa_sec_parms_val; \ struct channel_attrs4 *fore_attrs; \ struct channel_attrs4 *back_attrs; \ CREATE_SESSION4args *opcreate_session; \ @@ -99,8 +99,8 @@ do { \ back_attrs->ca_rdma_ird.ca_rdma_ird_val = NULL; \ opcreate_session->csa_cb_program = info->srv_prognum; \ opcreate_session->csa_sec_parms.csa_sec_parms_len = 1; \ - csa_sec_parms_val.cb_secflavor = AUTH_NONE; \ - opcreate_session->csa_sec_parms.csa_sec_parms_val = &csa_sec_parms_val;\ + (sec_parms4)->cb_secflavor = AUTH_NONE; \ + opcreate_session->csa_sec_parms.csa_sec_parms_val = (sec_parms4); \ } while (0) #define COMPOUNDV4_ARG_ADD_OP_PUTROOTFH(opcnt, argarray) \ diff --git a/src/FSAL/FSAL_PROXY/handle.c b/src/FSAL/FSAL_PROXY/handle.c index 26516a968c..b3fda1e9a1 100644 --- a/src/FSAL/FSAL_PROXY/handle.c +++ b/src/FSAL/FSAL_PROXY/handle.c @@ -946,6 +946,7 @@ static int pxy_setsessionid(sessionid4 new_sessionid, uint32_t *lease_time, sequenceid4 seqid; CREATE_SESSION4res *s_res; CREATE_SESSION4resok *res_ok; + callback_sec_parms4 sec_parms4; uint32_t fore_ca_rdma_ird_val_sink; uint32_t back_ca_rdma_ird_val_sink; @@ -963,7 +964,7 @@ static int pxy_setsessionid(sessionid4 new_sessionid, uint32_t *lease_time, &back_ca_rdma_ird_val_sink; COMPOUNDV4_ARG_ADD_OP_CREATE_SESSION(opcnt, arg, cid, seqid, - (&(pxy_exp->info))); + (&(pxy_exp->info)), &sec_parms4); rc = pxy_compoundv4_execute(__func__, NULL, opcnt, arg, res, pxy_exp); if (rc != NFS4_OK) return -1;