include/soc/fsl/qman.h:383:4: warning: field context_a within 'struct qm_fqd' is less aligned than 'union (unnamed union at include/soc/fsl/qman.h:365:2)' and is usually due to 'struct qm_fqd' being packed, which can lead to unaligned accesses
From: kernel test robot
Date: Thu Aug 20 2026 - 04:45:32 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: cb8a75eec0877810b50aa1c5a833f929525cd2ee
commit: d70242427110123b65c095594eb74a703d3af156 ARM: rework ARM11 CPU selection logic
date: 7 weeks ago
config: arm-randconfig-r071-20260820 (https://download.01.org/0day-ci/archive/20260820/202608201631.dsIekKuW-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260820/202608201631.dsIekKuW-lkp@xxxxxxxxx/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: d70242427110 ("ARM: rework ARM11 CPU selection logic")
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608201631.dsIekKuW-lkp@xxxxxxxxx/
All warnings (new ones prefixed by >>):
In file included from drivers/soc/fsl/qbman/qman_ccsr.c:31:
In file included from drivers/soc/fsl/qbman/qman_priv.h:33:
>> include/soc/fsl/qman.h:383:4: warning: field context_a within 'struct qm_fqd' is less aligned than 'union (unnamed union at include/soc/fsl/qman.h:365:2)' and is usually due to 'struct qm_fqd' being packed, which can lead to unaligned accesses [-Wunaligned-access]
383 | } context_a;
| ^
1 warning generated.
vim +383 include/soc/fsl/qman.h
c535e923bb97a4 Claudiu Manoil 2016-09-22 346
c535e923bb97a4 Claudiu Manoil 2016-09-22 347 struct qm_fqd {
c535e923bb97a4 Claudiu Manoil 2016-09-22 348 /* _res[6-7], orprws[3-5], oa[2], olws[0-1] */
c535e923bb97a4 Claudiu Manoil 2016-09-22 349 u8 orpc;
c535e923bb97a4 Claudiu Manoil 2016-09-22 350 u8 cgid;
c535e923bb97a4 Claudiu Manoil 2016-09-22 351 __be16 fq_ctrl; /* See QM_FQCTRL_<...> */
c535e923bb97a4 Claudiu Manoil 2016-09-22 352 __be16 dest_wq; /* channel[3-15], wq[0-2] */
c535e923bb97a4 Claudiu Manoil 2016-09-22 353 __be16 ics_cred; /* 15-bit */
c535e923bb97a4 Claudiu Manoil 2016-09-22 354 /*
c535e923bb97a4 Claudiu Manoil 2016-09-22 355 * For "Initialize Frame Queue" commands, the write-enable mask
c535e923bb97a4 Claudiu Manoil 2016-09-22 356 * determines whether 'td' or 'oac_init' is observed. For query
c535e923bb97a4 Claudiu Manoil 2016-09-22 357 * commands, this field is always 'td', and 'oac_query' (below) reflects
c535e923bb97a4 Claudiu Manoil 2016-09-22 358 * the Overhead ACcounting values.
c535e923bb97a4 Claudiu Manoil 2016-09-22 359 */
c535e923bb97a4 Claudiu Manoil 2016-09-22 360 union {
c535e923bb97a4 Claudiu Manoil 2016-09-22 361 __be16 td; /* "Taildrop": _res[13-15], mant[5-12], exp[0-4] */
c535e923bb97a4 Claudiu Manoil 2016-09-22 362 struct qm_fqd_oac oac_init;
c535e923bb97a4 Claudiu Manoil 2016-09-22 363 };
c535e923bb97a4 Claudiu Manoil 2016-09-22 364 __be32 context_b;
c535e923bb97a4 Claudiu Manoil 2016-09-22 365 union {
c535e923bb97a4 Claudiu Manoil 2016-09-22 366 /* Treat it as 64-bit opaque */
c535e923bb97a4 Claudiu Manoil 2016-09-22 367 __be64 opaque;
c535e923bb97a4 Claudiu Manoil 2016-09-22 368 struct {
c535e923bb97a4 Claudiu Manoil 2016-09-22 369 __be32 hi;
c535e923bb97a4 Claudiu Manoil 2016-09-22 370 __be32 lo;
c535e923bb97a4 Claudiu Manoil 2016-09-22 371 };
c535e923bb97a4 Claudiu Manoil 2016-09-22 372 /* Treat it as s/w portal stashing config */
c535e923bb97a4 Claudiu Manoil 2016-09-22 373 /* see "FQD Context_A field used for [...]" */
c535e923bb97a4 Claudiu Manoil 2016-09-22 374 struct {
c535e923bb97a4 Claudiu Manoil 2016-09-22 375 struct qm_fqd_stashing stashing;
c535e923bb97a4 Claudiu Manoil 2016-09-22 376 /*
c535e923bb97a4 Claudiu Manoil 2016-09-22 377 * 48-bit address of FQ context to
c535e923bb97a4 Claudiu Manoil 2016-09-22 378 * stash, must be cacheline-aligned
c535e923bb97a4 Claudiu Manoil 2016-09-22 379 */
c535e923bb97a4 Claudiu Manoil 2016-09-22 380 __be16 context_hi;
c535e923bb97a4 Claudiu Manoil 2016-09-22 381 __be32 context_lo;
c535e923bb97a4 Claudiu Manoil 2016-09-22 382 } __packed;
c535e923bb97a4 Claudiu Manoil 2016-09-22 @383 } context_a;
c535e923bb97a4 Claudiu Manoil 2016-09-22 384 struct qm_fqd_oac oac_query;
c535e923bb97a4 Claudiu Manoil 2016-09-22 385 } __packed;
c535e923bb97a4 Claudiu Manoil 2016-09-22 386
:::::: The code at line 383 was first introduced by commit
:::::: c535e923bb97a4b361e89a6383693482057f8b0c soc/fsl: Introduce DPAA 1.x QMan device driver
:::::: TO: Claudiu Manoil <claudiu.manoil@xxxxxxx>
:::::: CC: Scott Wood <oss@xxxxxxxxxxxx>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki