Hi Simon, Thanks for the review. Before this patch set, the ini pointer is NULL when sending accept clc msg. This patch set has changed the ini pointer to non-NULL value both when sending accept clc msg and when sending confirm clc msg. And the ini pointer in smc_clc_send_confirm_accept will not be NULL any more. I will remove the ini NULL check in the next version. if (ini && clc->hdr.type == SMC_CLC_CONFIRM) => if (clc->hdr.type == SMC_CLC_CONFIRM) Thanks, Guangguan Wang On 2023/8/4 01:42, Simon Horman wrote: > On Thu, Aug 03, 2023 at 09:24:17PM +0800, Guangguan Wang wrote: > > ... > > Hi Guangguan Wang, > >> @@ -1063,7 +1063,7 @@ static int smc_clc_send_confirm_accept(struct smc_sock *smc, >> memcpy(clc_v2->r1.eid, eid, SMC_MAX_EID_LEN); >> len = SMCR_CLC_ACCEPT_CONFIRM_LEN_V2; >> if (first_contact) { >> - smc_clc_fill_fce(&fce, &len); >> + smc_clc_fill_fce(&fce, &len, ini->release_ver); > > Here ini is dereferenced... > > >> fce.v2_direct = !link->lgr->uses_gateway; >> memset(&gle, 0, sizeof(gle)); >> if (ini && clc->hdr.type == SMC_CLC_CONFIRM) { > > ... but here it is assumed that ini may be NULL. > > This seems inconsistent. > > As flagged by Smatch. > > ... >