Re: [PATCH] [v2] wifi: b43: fix incorrect __packed annotation

From: Kalle Valo
Date: Wed May 17 2023 - 02:24:40 EST


Arnd Bergmann <arnd@xxxxxxxxxx> wrote:

> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> clang warns about an unpacked structure inside of a packed one:
>
> drivers/net/wireless/broadcom/b43/b43.h:654:4: error: field data within 'struct b43_iv' is less aligned than 'union (unnamed union at /home/arnd/arm-soc/drivers/net/wireless/broadcom/b43/b43.h:651:2)' and is usually due to 'struct b43_iv' being packed, which can lead to unaligned accesses [-Werror,-Wunaligned-access]
>
> The problem here is that the anonymous union has the default alignment
> from its members, apparently because the original author mixed up the
> placement of the __packed attribute by placing it next to the struct
> member rather than the union definition. As the struct itself is
> also marked as __packed, there is no need to mark its members, so just
> move the annotation to the inner type instead.
>
> As Michael noted, the same problem is present in b43legacy, so
> change both at the same time.
>
> Acked-by: Michael Büsch <m@xxxxxxx>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxx>
> Tested-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
> Link: https://lore.kernel.org/oe-kbuild-all/202305160749.ay1HAoyP-lkp@xxxxxxxxx/
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Patch applied to wireless.git, thanks.

212457ccbd60 wifi: b43: fix incorrect __packed annotation

--
https://patchwork.kernel.org/project/linux-wireless/patch/20230516183442.536589-1-arnd@xxxxxxxxxx/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches