RE: [PATCH iwl-net] ice: allow reading the last byte of the NVM and Shadow RAM regions
From: Nowlin, Alexander
Date: Tue Sep 29 2026 - 21:21:25 EST
> -----Original Message-----
> From: Petr Oros <poros@xxxxxxxxxx>
> Sent: Wednesday, August 19, 2026 1:25 AM
> To: netdev@xxxxxxxxxxxxxxx
> Cc: Oros, Petr <poros@xxxxxxxxxx>; Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; Kitszel, Przemyslaw <przemyslaw.kitszel@xxxxxxxxx>; Andrew Lunn <andrew+netdev@xxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; Loktionov, Aleksandr <aleksandr.loktionov@xxxxxxxxx>; Paul Menzel <pmenzel@xxxxxxxxxxxxx>; Keller, Jacob E <jacob.e.keller@xxxxxxxxx>; Kees Cook <kees@xxxxxxxxxx>; Robert Malz <robert.malz@xxxxxxxxxxxxx>; Ratheesh Kannoth <rkannoth@xxxxxxxxxxx>; Daniel Zahka <daniel.zahka@xxxxxxxxx>; intel-wired-lan@xxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH iwl-net] ice: allow reading the last byte of the NVM and Shadow RAM regions
>
> ice_devlink_nvm_read() rejects a read whose end lands exactly on the region size, so feeding back the size devlink itself reports fails:
>
> devlink region show pci/0000:04:00.0/nvm-flash
> pci/0000:04:00.0/nvm-flash: size 10485760 snapshot [] max 1
>
> devlink region read pci/0000:04:00.0/nvm-flash address 0 length 10485760
> Error: ice: Cannot read beyond the region size.
>
> shadow-ram behaves the same. The regions are created with those sizes, so a read ending on the size is the whole region and has to be allowed.
> ice_read_flat_nvm() uses > for its own Shadow RAM check, and so does ixgbe, which grew its region support from this code.
>
> Fixes: 3af4b40b0f2f ("ice: implement direct read for NVM and Shadow RAM regions")
> Signed-off-by: Petr Oros <poros@xxxxxxxxxx>
> ---
> drivers/net/ethernet/intel/ice/devlink/devlink.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Tested-by: Alexander Nowlin <alexander.nowlin@xxxxxxxxx>