Subject: Re: [PATCH] net: b44: fix clang-specific fortify warning

From: Simon Horman <[email-masked]>
Date: Sat, 13 Jan 2024 15:56:24 +0000

On Fri, Jan 12, 2024 at 01:37:33PM +0300, Dmitry Antipov wrote:
> When compiling with clang 17.0.6 and CONFIG_FORTIFY_SOURCE=y, I've
> noticed the following warning (somewhat confusing due to absence of
> an actual source code location):
> 
> In file included from ./drivers/net/ethernet/broadcom/b44.c:17:
> In file included from ./include/linux/module.h:13:
> In file included from ./include/linux/stat.h:6:
> In file included from ./arch/arm64/include/asm/stat.h:12:
> In file included from ./include/linux/time.h:60:
> In file included from ./include/linux/time32.h:13:
> In file included from ./include/linux/timex.h:67:
> In file included from ./arch/arm64/include/asm/timex.h:8:
> In file included from ./arch/arm64/include/asm/arch_timer.h:12:
> In file included from ./arch/arm64/include/asm/hwcap.h:9:
> In file included from ./arch/arm64/include/asm/cpufeature.h:26:
> In file included from ./include/linux/cpumask.h:12:
> In file included from ./include/linux/bitmap.h:12:
> In file included from ./include/linux/string.h:295:
> ./include/linux/fortify-string.h:588:4: warning: call to '__read_overflow2_field'
> declared with 'warning' attribute: detected read beyond size of field (2nd parameter);
> maybe use struct_group()? [-Wattribute-warning]
>   588 |                         __read_overflow2_field(q_size_field, size);
>       |                         ^
> 
> The compiler actually complains on 'b44_get_strings()' because the
> fortification logic inteprets call to 'memcpy()' as an attempt to
> copy the whole array from its first member and so issues an overread
> warning. This warning may be silenced by passing an address of the
> whole array and not the first member to 'memcpy()'.
> 
> Signed-off-by: Dmitry Antipov <[email-masked]>

This patch is for net-next, when reposting please annotate this
in the subject.

	Subject: [PATCH net-next v2] ...

[adapted from text by Jakub]

## Form letter - net-next-closed

The merge window for v6.8 has begun and therefore net-next is closed
for new drivers, features, code refactoring and optimizations.
We are currently accepting bug fixes only.

Please repost when net-next reopens on or after 22nd January.

RFC patches sent for review only are obviously welcome at any time.

See: https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#development-cycle
--
pw-bot: defer