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