On Apr 11 2022, Linus Torvalds wrote: >> For me, the failure happens in cp_compat_stat (I have a 64-bit kernel). In >> struct compat_stat in arch/x86/include/asm/compat.h, st_dev and st_rdev >> are compat_dev_t which is 16-bit. But they are followed by 16-bit >> paddings, so they could be extended. > > Ok, that actually looks like a bug. > > The compat structure should match the native structure. Those "u16 > __padX" fields seem to be just a symptom of the bug. Looks like the move to 32-bit st_[r]dev was never applied to struct compat_stat, see commit e95b206567 ("[PATCH] struct stat - support larger dev_t") from tglx/history.git. -- Andreas Schwab, schwab@xxxxxxxxxxxxxx GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."