On Fri, Aug 12, 2022 at 03:56:33PM -0700, Keith Busch wrote: > struct kiocb { > struct file *ki_filp; > - > - /* The 'ki_filp' pointer is shared in a union for aio */ > - randomized_struct_fields_start > - > loff_t ki_pos; > void (*ki_complete)(struct kiocb *iocb, long ret); > void *private; > int ki_flags; > u16 ki_ioprio; /* See linux/ioprio.h */ > struct wait_page_queue *ki_waitq; /* for async buffered IO */ > - randomized_struct_fields_end > }; Now that I've read the thread ... If we care about struct size on 32-bit, we should fit something into the 32-bit hole before the 64-bit loff_t (assuming at least some 32-bit arches want loff_t to be 64-bit aligned; I thik x86 doesn't?) Easiest seems to be to put ki_complete before ki_pos?