[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bb6826d4-2e17-4cdd-a64f-26d346224805@microchip.com>
Date: Fri, 22 Aug 2025 08:05:50 +0000
From: <Parthiban.Veerasooran@...rochip.com>
To: <dong100@...se.com>
CC: <andrew+netdev@...n.ch>, <davem@...emloft.net>, <edumazet@...gle.com>,
<kuba@...nel.org>, <pabeni@...hat.com>, <horms@...nel.org>, <corbet@....net>,
<gur.stavi@...wei.com>, <maddy@...ux.ibm.com>, <mpe@...erman.id.au>,
<danishanwar@...com>, <lee@...ger.us>, <gongfan1@...wei.com>,
<lorenzo@...nel.org>, <geert+renesas@...der.be>, <lukas.bulwahn@...hat.com>,
<alexanderduyck@...com>, <richardcochran@...il.com>, <kees@...nel.org>,
<gustavoars@...nel.org>, <netdev@...r.kernel.org>,
<linux-doc@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-hardening@...r.kernel.org>
Subject: Re: [PATCH net-next v7 4/5] net: rnpgbe: Add basic mbx_fw support
On 22/08/25 12:21 pm, Yibo Dong wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On Fri, Aug 22, 2025 at 06:07:51AM +0000, Parthiban.Veerasooran@...rochip.com wrote:
>> On 22/08/25 11:07 am, Yibo Dong wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> On Fri, Aug 22, 2025 at 04:49:44AM +0000, Parthiban.Veerasooran@...rochip.com wrote:
>>>> On 22/08/25 8:04 am, Dong Yibo wrote:
>>>>> +/**
>>>>> + * mucse_mbx_get_capability - Get hw abilities from fw
>>>>> + * @hw: pointer to the HW structure
>>>>> + *
>>>>> + * mucse_mbx_get_capability tries to get capabities from
>>>>> + * hw. Many retrys will do if it is failed.
>>>>> + *
>>>>> + * @return: 0 on success, negative on failure
>>>>> + **/
>>>>> +int mucse_mbx_get_capability(struct mucse_hw *hw)
>>>>> +{
>>>>> + struct hw_abilities ability = {};
>>>>> + int try_cnt = 3;
>>>>> + int err = -EIO;
>>>> Here too you no need to assign -EIO as it is updated in the while.
>>>>
>>>> Best regards,
>>>> Parthiban V
>>>>> +
>>>>> + while (try_cnt--) {
>>>>> + err = mucse_fw_get_capability(hw, &ability);
>>>>> + if (err)
>>>>> + continue;
>>>>> + hw->pfvfnum = le16_to_cpu(ability.pfnum) & GENMASK_U16(7, 0);
>>>>> + return 0;
>>>>> + }
>>>>> + return err;
>>>>> +}
>>>>> +
>>>
>>> err is updated because 'try_cnt = 3'. But to the code logic itself, it should
>>> not leave err uninitialized since no guarantee that codes 'whthin while'
>>> run at least once. Right?
>> Yes, but 'try_cnt' is hard coded as 3, so the 'while loop' will always
>> execute and err will definitely be updated.
>>
>> So in this case, the check isn’t needed unless try_cnt is being modified
>> externally with unknown values, which doesn’t seem to be happening here.
>>
>> Best regards,
>> Parthiban V
>>>
>>> Thanks for your feedback.
>>>
>>>
>>
>
> Is it fine if I add some comment like this?
> .....
> /* Initialized as a defensive measure to handle edge cases
> * where try_cnt might be modified
> */
> int err = -EIO;
> .....
>
> Additionally, keeping this initialization ensures we’ll no need to consider
> its impact every time 'try_cnt' is modified (Although this situation is
> almost impossible).
If you're concerned that 'try_cnt' might be modified, then let's keep
the existing implementation as is. I also think the comment might not be
necessary, so feel free to ignore my earlier suggestion.
Best regards,
Parthiban V
>
> Thanks for your feedback.
>
>
Powered by blists - more mailing lists