[PATCH] net: ethernet: mtk_eth_soc: Avoid truncating allocation

Simon Horman simon.horman at corigine.com
Sat Jan 28 05:40:26 PST 2023


On Fri, Jan 27, 2023 at 02:38:54PM -0800, Kees Cook wrote:
> There doesn't appear to be a reason to truncate the allocation used for
> flow_info, so do a full allocation and remove the unused empty struct.
> GCC does not like having a reference to an object that has been
> partially allocated, as bounds checking may become impossible when
> such an object is passed to other code. Seen with GCC 13:
> 
> ../drivers/net/ethernet/mediatek/mtk_ppe.c: In function 'mtk_foe_entry_commit_subflow':
> ../drivers/net/ethernet/mediatek/mtk_ppe.c:623:18: warning: array subscript 'struct mtk_flow_entry[0]' is partly outside array bounds of 'unsigned char[48]' [-Warray-bounds=]
>   623 |         flow_info->l2_data.base_flow = entry;
>       |                  ^~
> 

...

> Signed-off-by: Kees Cook <keescook at chromium.org>
> ---
>  drivers/net/ethernet/mediatek/mtk_ppe.c | 3 +--
>  drivers/net/ethernet/mediatek/mtk_ppe.h | 1 -
>  2 files changed, 1 insertion(+), 3 deletions(-)

Reviewed-by: Simon Horman <simon.horman at corigine.com>




More information about the linux-arm-kernel mailing list