diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-07-13 11:26:37 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-07-13 11:26:37 +0200 |
commit | bb458c644a59dbba3a1fe59b27106c5e68e1c4bd (patch) | |
tree | b0f3b51fc5cbd044b076cb0a1fec43ca62f2b7f5 /include/uapi | |
parent | ncpfs: fix error return code in ncp_parse_options() (diff) | |
download | linux-bb458c644a59dbba3a1fe59b27106c5e68e1c4bd.tar.xz linux-bb458c644a59dbba3a1fe59b27106c5e68e1c4bd.zip |
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/uapi')
-rw-r--r-- | include/uapi/asm-generic/fcntl.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/uapi/asm-generic/fcntl.h b/include/uapi/asm-generic/fcntl.h index 06632beaa6d5..05ac354e124d 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 |