On Wed, Jun 10, 2026 at 08:54:59AM +0200, Arnd Bergmann wrote: > On Wed, Jun 10, 2026, at 07:26, Michael S. Tsirkin wrote: > > On Fri, Feb 13, 2026 at 04:40:46PM +0100, Arnd Bergmann wrote: > >> + }; > >> + __u8 ready; > >> + __u8 padding[3]; > >> +} __uapi_arch_align; > > > > what is this __uapi_arch_align supposed to be doing? > > > > It compiles by luck because gcc thinks it's a global variable. > > Sorry, that should not have been part of this patch, it is > part of the series of changes I was testing when I noticed > the problem here, but that other series is unfortunately > still not ready for merging. > > The background here is that I'm adding -Werror=padded to > the UAPI checks in usr/include/Makefile, in order to find > any instances of data structures with implied padding, > and then instead add explicit padding using architecture > specific macros. In vduse_vq_info, this includes a final > 32 bit of padding on architectures with naturally > aligned __u64 but no padding when __u64 has a smaller > alignment. > > The __uapi_arch_align macro in turn is what I add to > structures with optional padding, in order to be able > to reduce the alignment of a structure when building the > kernel with a higher default alignment than userspace > (e.g. on m68k with -malign-int). > > Removing the __uapi_arch_align is the correct fix for the > moment. Let me know if you would like me to send a > replacement patch without it, a fixup patch on top, or if > you will fix it up yourself. > > Arnd
I fixed it, thanks.

