From 221f2898b9140b4cc103d2c485061023706c1fcf Mon Sep 17 00:00:00 2001 From: Nicolas Cavallari Date: Wed, 7 Apr 2021 19:08:23 +0200 Subject: open: Add support for O_TMPFILE Since Linux 3.11, O_TMPFILE allows to create unnamed files that can be linked later on. It is internally defined as (O_TMPFILE | O_DIRECTORY) to make it fail on old kernels. Copying definitions from glibc for O_TMPFILE is not enough to support O_TMPFILE; The open() wrapper also need to pass the mode when the flag contains O_TMPFILE, otherwise, it will pass mode 000 which will succeed but yield unexpected results. openat() is curiously not affected since it passes the mode unconditionally.. Signed-off-by: Nicolas Cavallari --- libc/sysdeps/linux/arm/bits/fcntl.h | 1 + 1 file changed, 1 insertion(+) (limited to 'libc/sysdeps/linux/arm') diff --git a/libc/sysdeps/linux/arm/bits/fcntl.h b/libc/sysdeps/linux/arm/bits/fcntl.h index 036f4161c..823660648 100644 --- a/libc/sysdeps/linux/arm/bits/fcntl.h +++ b/libc/sysdeps/linux/arm/bits/fcntl.h @@ -54,6 +54,7 @@ # define O_DIRECT 0200000 /* Direct disk access. */ # define O_NOATIME 01000000 /* Do not set atime. */ # define O_PATH 010000000 /* Resolve pathname but do not open file. */ +# define O_TMPFILE 020040000 /* Atomically create nameless file. */ #endif /* For now Linux has synchronisity options for data and read operations. -- cgit v1.2.3