mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 13:22:23 +00:00
allow O_TMPFILE to work with O_WRONLY
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
c0d15cc7ee
commit
ba57ea64cb
@ -844,6 +844,8 @@ static inline int build_open_flags(int flags, umode_t mode, struct open_flags *o
|
|||||||
if ((flags & O_TMPFILE_MASK) != O_TMPFILE)
|
if ((flags & O_TMPFILE_MASK) != O_TMPFILE)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
acc_mode = MAY_OPEN | ACC_MODE(flags);
|
acc_mode = MAY_OPEN | ACC_MODE(flags);
|
||||||
|
if (!(acc_mode & MAY_WRITE))
|
||||||
|
return -EINVAL;
|
||||||
} else if (flags & O_PATH) {
|
} else if (flags & O_PATH) {
|
||||||
/*
|
/*
|
||||||
* If we have O_PATH in the open flag. Then we
|
* If we have O_PATH in the open flag. Then we
|
||||||
|
@ -89,8 +89,8 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* a horrid kludge trying to make sure that this will fail on old kernels */
|
/* 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 (__O_TMPFILE | O_DIRECTORY)
|
||||||
#define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT | O_ACCMODE)
|
#define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT)
|
||||||
|
|
||||||
#ifndef O_NDELAY
|
#ifndef O_NDELAY
|
||||||
#define O_NDELAY O_NONBLOCK
|
#define O_NDELAY O_NONBLOCK
|
||||||
|
Loading…
Reference in New Issue
Block a user