On 2019-12-19, David Laight [off-list ref] wrote:
From: Aleksa Sarai
quoted
Sent: 19 December 2019 13:45
On 2019-12-19, Florian Weimer [off-list ref] wrote:
quoted
* Aleksa Sarai:
quoted
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
<https://www.cyphar.com/>