From: Christoph Hellwig > Sent: 11 January 2022 08:35 > > Provide a single common definition for the compat_flock and > compat_flock64 structures using the same tricks as for the native > variants. Another extra define is added for the packing required on > x86. > ... > /* > - * IA32 uses 4 byte alignment for 64 bit quantities, > - * so we need to pack this structure. > + * IA32 uses 4 byte alignment for 64 bit quantities, so we need to pack the > + * compat flock64 structure. > */ ... > +#define __ARCH_NEED_COMPAT_FLOCK64_PACKED Maybe: #define __ARCH_COMPAT_FLOCK64_ATTR (packed),(aligned(4) ... Delete this bit: > +#ifdef __ARCH_NEED_COMPAT_FLOCK64_PACKED > +#define __ARCH_COMPAT_FLOCK64_PACK __attribute__((packed)) > +#else > +#define __ARCH_COMPAT_FLOCK64_PACK > +#endif ... > +struct compat_flock64 { > + short l_type; > + short l_whence; > + compat_loff_t l_start; > + compat_loff_t l_len; > + compat_pid_t l_pid; > +#ifdef __ARCH_COMPAT_FLOCK64_PAD > + __ARCH_COMPAT_FLOCK64_PAD > +#endif > +} __ARCH_COMPAT_FLOCK64_PACK; then: #ifdef __ARCH_COMPAT_FLOCK64_ATTR } __attribute__(__ARCH_COMPAT_FLOCK64_ATTR); #else }; #endif Makes it a bit more like the xxx_PAD bits. Although the trailing ; does cause a bit of grief. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)