|
@@ -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
|