Re: [RFC PATCH net-next 1/6] net/smc: support smc release version negotiation in clc handshake

From: Guangguan Wang
Date: Thu Aug 03 2023 - 23:59:16 EST


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.
>
> ...
>