While openat2(2) is still not yet in Linus's tree, we can take this opportunity to iron out some small warts that weren't noticed earlier: * A fix was suggested by Florian Weimer, to separate the openat2 definitions so glibc can use the header directly. I've put the maintainership under VFS but let me know if you'd prefer it belong ot the fcntl folks. * Having heterogenous field sizes in an extensible struct results in "padding hole" problems when adding new fields (in addition the correct error to use for non-zero padding isn't entirely clear ). The simplest solution is to just copy clone(3)'s model -- always use u64s. It will waste a little more space in the struct, but it removes a possible future headache. Aleksa Sarai (2): uapi: split openat2(2) definitions from fcntl.h openat2: drop open_how->__padding field MAINTAINERS | 1 + fs/open.c | 2 - include/uapi/linux/fcntl.h | 37 +---------------- include/uapi/linux/openat2.h | 40 +++++++++++++++++++ tools/testing/selftests/openat2/helpers.h | 3 +- .../testing/selftests/openat2/openat2_test.c | 24 ++++------- 6 files changed, 51 insertions(+), 56 deletions(-) create mode 100644 include/uapi/linux/openat2.h base-commit: 912dfe068c43fa13c587b8d30e73d335c5ba7d44 -- 2.24.0