On 25. 3. 5. 21:11, Loktionov, Aleksandr wrote: > > >> -----Original Message----- >> From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On Behalf Of >> Przemek Kitszel >> Sent: Wednesday, March 5, 2025 11:27 AM >> To: Kyungwook Boo <bookyungw...@gmail.com> >> Cc: intel-wired-...@lists.osuosl.org; linux-ker...@vger.kernel.org; Nguyen, >> Anthony L <anthony.l.ngu...@intel.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