--- v11
+++ v10
@@ -118,11 +118,11 @@
(VALID_OPEN_FLAGS & ~(O_NONBLOCK | O_NDELAY)) |
__FMODE_EXEC | __FMODE_NONOTIFY));
diff --git a/fs/namei.c b/fs/namei.c
-index 54d57dad0f91..e39b573fcc4d 100644
+index c6ba4ccafc51..165861d621c2 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -3571,6 +3571,24 @@ static int trailing_magiclink(struct nameidata *nd, int acc_mode,
- return may_open_magiclink(upgrade_mask, acc_mode);
+ return may_open_magiclink(new_mask, acc_mode);
}
+static int do_emptypath(struct nameidata *nd, const struct open_flags *op,
@@ -154,7 +154,7 @@
+ error = do_emptypath(nd, op, file);
} else if (unlikely(file->f_flags & O_PATH)) {
/* Inlined path_lookupat() with a trailing_magiclink() check. */
- fmode_t opath_mask = op->opath_mask;
+ const char *s = path_init(nd, flags);
diff --git a/fs/open.c b/fs/open.c
index ab20eae39df7..bdca45528524 100644
--- a/fs/open.c