Unverified Commit c25d01e1 authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Nathan Chancellor
Browse files

virt: vbox: uapi: Mark inner unions in packed structs as packed



The unpacked unions within a packed struct generates alignment warnings
on clang for 32-bit ARM:

./usr/include/linux/vbox_vmmdev_types.h:239:4: error: field u within 'struct vmmdev_hgcm_function_parameter32'
  is less aligned than 'union (unnamed union at ./usr/include/linux/vbox_vmmdev_types.h:223:2)'
  and is usually due to 'struct vmmdev_hgcm_function_parameter32' being packed,
  which can lead to unaligned accesses [-Werror,-Wunaligned-access]
     239 |         } u;
         |           ^

./usr/include/linux/vbox_vmmdev_types.h:254:6: error: field u within
  'struct vmmdev_hgcm_function_parameter64::(anonymous union)::(unnamed at ./usr/include/linux/vbox_vmmdev_types.h:249:3)'
  is less aligned than 'union (unnamed union at ./usr/include/linux/vbox_vmmdev_types.h:251:4)' and is usually due to
  'struct vmmdev_hgcm_function_parameter64::(anonymous union)::(unnamed at ./usr/include/linux/vbox_vmmdev_types.h:249:3)'
  being packed, which can lead to unaligned accesses [-Werror,-Wunaligned-access]

With the recent changes to compile-test the UAPI headers in more cases,
these warning in combination with CONFIG_WERROR breaks the build.

Fix the warnings.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202512140314.DzDxpIVn-lkp@intel.com/


Reported-by: default avatarNathan Chancellor <nathan@kernel.org>
Closes: https://lore.kernel.org/linux-kbuild/20260110-uapi-test-disable-headers-arm-clang-unaligned-access-v1-1-b7b0fa541daa@kernel.org/


Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/linux-kbuild/29b2e736-d462-45b7-a0a9-85f8d8a3de56@app.fastmail.com/


Signed-off-by: default avatarThomas Weißschuh <thomas.weissschuh@linutronix.de>
Tested-by: default avatarNicolas Schier <nsc@kernel.org>
Reviewed-by: default avatarNicolas Schier <nsc@kernel.org>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://patch.msgid.link/20260115-kbuild-alignment-vbox-v1-2-076aed1623ff@linutronix.de


Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
parent 1e527139
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ struct vmmdev_hgcm_function_parameter32 {
			/** Relative to the request header. */
			__u32 offset;
		} page_list;
	} u;
	} __packed u;
} __packed;
VMMDEV_ASSERT_SIZE(vmmdev_hgcm_function_parameter32, 4 + 8);

@@ -251,7 +251,7 @@ struct vmmdev_hgcm_function_parameter64 {
			union {
				__u64 phys_addr;
				__u64 linear_addr;
			} u;
			} __packed u;
		} __packed pointer;
		struct {
			/** Size of the buffer described by the page list. */