[PATCH v2] net/txgbe: fix out of bound access
Ferruh Yigit
ferruh.yigit at amd.com
Mon Nov 20 10:53:39 CET 2023
On 11/20/2023 1:51 AM, Jiawen Wu wrote:
> On Friday, November 17, 2023 6:12 PM, Ferruh.Yigit at amd.com wrote:
>> Reported by SuSe CI [1] by GCC [2], possibly false positive. Error:
>>
>> In function 'txgbe_host_interface_command',
>> inlined from 'txgbe_host_interface_command'
>> at ../drivers/net/txgbe/base/txgbe_mng.c:104:1,
>> inlined from 'txgbe_hic_reset'
>> at ../drivers/net/txgbe/base/txgbe_mng.c:345:9:
>> ../drivers/net/txgbe/base/txgbe_mng.c:145:36:
>> error: array subscript 2 is outside array bounds ofr
>> 'struct txgbe_hic_reset[1]' [-Werror=array-bounds=]
>> 145 | buffer[bi] = rd32a(hw, TXGBE_MNGMBX, bi);
>> ../drivers/net/txgbe/base/txgbe_mng.c: In function 'txgbe_hic_reset':
>> ../drivers/net/txgbe/base/txgbe_mng.c:331:32:
>> note: at offset 8 into object 'reset_cmd' of size 8
>> 331 | struct txgbe_hic_reset reset_cmd;
>> | ^~~~~~~~~
>>
>> Access to buffer done based on command code, the case complained by
>> FW_RESET_CMD has short buffer but this code path only taken with command
>> 0x30, so this shouldn't be a problem.
>>
>> Command 0x30 no more used, removing this exception check that cause
>> build error.
>>
>> [1]
>> https://build.opensuse.org/public/build/home:bluca:dpdk/openSUSE_Factory_ARM/armv7l/dpdk-20.11/_log
>>
>> [2]
>> gcc 13.2.1 "cc (SUSE Linux) 13.2.1 20230912
>>
>> Fixes: 35c90ecccfd4 ("net/txgbe: add EEPROM functions")
>> Cc: stable at dpdk.org
>>
>> Reported-by: Luca Boccassi <luca.boccassi at microsoft.com>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit at amd.com>>
> Reviewed-by: Jiawen Wu <jiawenwu at trustnetic.com>
>
Applied to dpdk-next-net/main, thanks.
More information about the stable
mailing list