On 2019-12-19, David Laight wrote: > From: Aleksa Sarai > > Sent: 19 December 2019 13:45 > > On 2019-12-19, Florian Weimer wrote: > > > * Aleksa Sarai: > > > > > > > diff --git a/include/uapi/linux/openat2.h b/include/uapi/linux/openat2.h > > > > new file mode 100644 > > > > index 000000000000..19ef775e8e5e > > > > --- /dev/null > > > > +++ b/include/uapi/linux/openat2.h > > > > @@ -0,0 +1,41 @@ > > > > +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ > > > > +#ifndef _UAPI_LINUX_OPENAT2_H > > > > +#define _UAPI_LINUX_OPENAT2_H > > > > > > I think you should include the relevant header for __align_u64 > > > etc. here. > > > > Right -- no idea why I forgot to include them. > > I'm guessing that is just 64bit aligned on 32bit archs like x86? Yeah, #define __aligned_u64 __u64 __attribute__((aligned(8))) > No need to enforce it provided the structure will have no padding on > archs where the 64bit fields are 64bit aligned. A plain __u64 should > be fine. Will this cause problems for x86-on-x86_64 emulation? Requiring an 8-byte alignment for 'struct open_how' really isn't that undue of a burden IMHO. Then again, clone3 is a bit of an outlier since both perf_event_open and sched_setattr just use __u64s. -- Aleksa Sarai Senior Software Engineer (Containers) SUSE Linux GmbH