[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <139f9e25-160c-48da-86ae-4a14bb36dbf5@gmail.com>
Date: Thu, 6 Mar 2025 09:41:19 +0900
From: Kyungwook Boo <bookyungwook@...il.com>
To: "Loktionov, Aleksandr" <aleksandr.loktionov@...el.com>,
"Kitszel, Przemyslaw" <przemyslaw.kitszel@...el.com>
Cc: "intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Nguyen, Anthony L" <anthony.l.nguyen@...el.com>
Subject: Re: [Intel-wired-lan] MMIO write access to an invalid page in
i40e_clear_hw()
On 25. 3. 5. 21:11, Loktionov, Aleksandr wrote:
>
>
>> -----Original Message-----
>> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of
>> Przemek Kitszel
>> Sent: Wednesday, March 5, 2025 11:27 AM
>> To: Kyungwook Boo <bookyungwook@...il.com>
>> Cc: intel-wired-lan@...ts.osuosl.org; linux-kernel@...r.kernel.org; Nguyen,
>> Anthony L <anthony.l.nguyen@...el.com>
>> Subject: Re: [Intel-wired-lan] MMIO write access to an invalid page in
>> i40e_clear_hw()
>>
>> On 3/3/25 11:19, Kyungwook Boo wrote:
>>> Hello,
>>>
>>> It seems that there are invalid page MMIO write access in
>>> i40e_clear_hw()
>>
>> Hi,
>>
>> is this something that actually occurred, or just a theoretical bug?
>> (depending on that we will apply it to different tree)
>>
>> please send a proper patch anyway, as it looks legit to don't go bananas when
>> HW gives you 0
>>
>> (and CC netdev instead of generic kernel ML, perhaps that's the reason this
>> mail was tagged as spam for me)
Hi,
thank you for your response.
If you’re asking whether this happened on a physical device, it did not, but it
is something that can be triggered through virtual device with fuzzed input.
Also, I'll follow your guidance when sending the proper patch.
>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c
>>> b/drivers/net/ethernet/intel/i40e/i40e_common.c
>>> index 370b4bddee44..97ef79be39b3 100644
>>> --- a/drivers/net/ethernet/intel/i40e/i40e_common.c
>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
>>> @@ -848,19 +848,25 @@ void i40e_clear_hw(struct i40e_hw *hw)
>>> /* stop all the interrupts */
>>> wr32(hw, I40E_PFINT_ICR0_ENA, 0);
>>> val = 0x3 << I40E_PFINT_DYN_CTLN_ITR_INDX_SHIFT;
>>> - for (i = 0; i < num_pf_int - 2; i++)
>>> - wr32(hw, I40E_PFINT_DYN_CTLN(i), val);
>>> + if (num_pf_int > 1) {
>>
>> instead of adding if conditions, I would simply change the type to be signed
I’ll incorporate the suggested approach when sending the patch.
Best,
Kyungwook Boo
Powered by blists - more mailing lists