Re: [PATCH RESEND net-next] alx: fix OOB-read compiler warning
From: Simon Horman
Date: Mon Aug 21 2023 - 03:03:39 EST
On Mon, Aug 21, 2023 at 09:32:18AM +0800, GONG, Ruiqi wrote:
> From: "GONG, Ruiqi" <gongruiqi1@xxxxxxxxxx>
>
> The following message shows up when compiling with W=1:
>
> In function ‘fortify_memcpy_chk’,
> inlined from ‘alx_get_ethtool_stats’ at drivers/net/ethernet/atheros/alx/ethtool.c:297:2:
> ./include/linux/fortify-string.h:592:4: error: call to ‘__read_overflow2_field’
> declared with attribute warning: detected read beyond size of field (2nd parameter);
> maybe use struct_group()? [-Werror=attribute-warning]
> 592 | __read_overflow2_field(q_size_field, size);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> In order to get alx stats altogether, alx_get_ethtool_stats() reads
> beyond hw->stats.rx_ok. Fix this warning by directly copying hw->stats,
> and refactor the unnecessarily complicated BUILD_BUG_ON btw.
>
> Signed-off-by: GONG, Ruiqi <gongruiqi1@xxxxxxxxxx>
Reviewed-by: Simon Horman <horms@xxxxxxxxxx>