Hi Jakub, On Fri, 27 Nov 2020 17:56:42 -0800 Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > What's the offending structure in hisilicon? I'd rather have a look > packing structs with pointers in 'em sounds questionable. > > I only see these two: > > $ git grep packed drivers/net/ethernet/hisilicon/ > drivers/net/ethernet/hisilicon/hns/hnae.h:struct __packed hnae_desc { > drivers/net/ethernet/hisilicon/hns3/hns3_enet.h:struct __packed hns3_desc { struct hclge_dbg_reg_type_info which is 28 bytes long due to the included struct struct hclge_dbg_reg_common_msg (which is 12 bytes long). They are surrounded by #pragma pack(1)/pack(). This forces the 2 pointers in each second array element of hclge_dbg_reg_info[] to be 4 byte aligned (where pointers are 8 bytes long on PPC64). -- Cheers, Stephen Rothwell
Attachment:
pgpk2AzMNPqGU.pgp
Description: OpenPGP digital signature