summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-07-13 13:26:37 +0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-07-13 13:26:37 +0400
commitbb458c644a59dbba3a1fe59b27106c5e68e1c4bd (patch)
treeb0f3b51fc5cbd044b076cb0a1fec43ca62f2b7f5 /include
parent4fbeb19d53cc3ef2da4bd1fd89a5dc9ac04add3a (diff)
downloadlinux-0-day-bb458c644a59dbba3a1fe59b27106c5e68e1c4bd.tar.gz
linux-0-day-bb458c644a59dbba3a1fe59b27106c5e68e1c4bd.tar.xz
Safer ABI for O_TMPFILE
[suggested by Rasmus Villemoes] make O_DIRECTORY | O_RDWR part of O_TMPFILE; that will fail on old kernels in a lot more cases than what I came up with. And make sure O_CREAT doesn't get there... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r--include/uapi/asm-generic/fcntl.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/uapi/asm-generic/fcntl.h b/include/uapi/asm-generic/fcntl.h
index 06632beaa6d51..05ac354e124de 100644
--- a/include/uapi/asm-generic/fcntl.h
+++ b/include/uapi/asm-generic/fcntl.h
@@ -84,10 +84,14 @@
#define O_PATH 010000000
#endif
-#ifndef O_TMPFILE
-#define O_TMPFILE 020000000
+#ifndef __O_TMPFILE
+#define __O_TMPFILE 020000000
#endif
+/* a horrid kludge trying to make sure that this will fail on old kernels */
+#define O_TMPFILE (__O_TMPFILE | O_DIRECTORY | O_RDWR)
+#define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT | O_ACCMODE)
+
#ifndef O_NDELAY
#define O_NDELAY O_NONBLOCK
#endif