On Tue, Sep 01, 2020 at 01:50:38AM +0000, Leo Li wrote: > > Sorry for the late response. I missed this email previously. > > These structures are descriptors used by hardware, we cannot have _ANY_ > padding from the compiler. The compiled result might be the same with or > without the __packed attribute for now, but I think keep it there probably is > safer for dealing with unexpected alignment requirements from the compiler in > the future. > > Having conflicting alignment requirements warning might means something is > wrong with the structure in certain scenario. I just tried a ARM64 build but > didn't see the warnings. Could you share the warning you got and the build > setup? Thanks.
Just do a COMPILE_TEST build on x86-64: In file included from ../drivers/crypto/caam/qi.c:12: ../include/soc/fsl/qman.h:259:1: warning: alignment 1 of ‘struct qm_dqrr_entry’ is less than 8 [-Wpacked-not-aligned] } __packed; ^ ../include/soc/fsl/qman.h:292:2: warning: alignment 1 of ‘struct <anonymous>’ is less than 8 [-Wpacked-not-aligned] } __packed ern; ^ In any case, those packed markers are completely unnecessary because those structs contain no holes. Cheers, -- Email: Herbert Xu <herb...@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt