blob: 527cdacce017eb671804f4d19bdfe6ef18582dae [file] [log] [blame]
ff326a329966 ("open_last_lookups(): move complete_walk() into do_open()")
b94e0b32c899 ("open_last_lookups(): lift O_EXCL|O_CREAT handling into do_open()")
c5971b8c6354 ("take post-lookup part of do_last() out of loop")
0f705953012a ("link_path_walk(): sample parent's i_uid and i_mode for the last component")
7521f22b3ce2 ("handle_dots(), follow_dotdot{,_rcu}(): preparation to switch to step_into()")
957dd41d8842 ("move handle_dots(), follow_dotdot() and follow_dotdot_rcu() past step_into()")
c9a0f75d81e3 ("follow_dotdot{,_rcu}(): lift LOOKUP_BENEATH checks out of loop")
abc2c632e0ce ("follow_dotdot{,_rcu}(): lift switching nd->path to parent out of loop")
a6a7eb7628cf ("expand path_parent_directory() in its callers")
63b27720a476 ("path_parent_directory(): leave changing path->dentry to callers")
6b03f7edf43e ("path_connected(): pass mount and dentry separately")
c981a4828125 ("split the lookup-related parts of do_last() into a separate helper")
973d4b73fbaf ("do_last(): rejoin the common path even earlier in FMODE_{OPENED,CREATED} case")
8795e7d48288 ("do_last(): simplify the liveness analysis past finish_open_created")
5a2d3edd8dad ("do_last(): rejoing the common path earlier in FMODE_{OPENED,CREATED} case")
59e96e65833e ("do_last(): don't bother with keeping got_write in FMODE_OPENED case")
3ad5615a071f ("do_last(): merge the may_open() calls")
7be219b4dcd9 ("atomic_open(): lift the call of may_open() into do_last()")
6fb968cdf9d0 ("atomic_open(): return the right dentry in FMODE_OPENED case")
c108837e06b6 ("namei: have link_path_walk() maintain LOOKUP_PARENT")
d8d4611a4f2d ("link_path_walk(): simplify stack handling")
b1a819724074 ("pick_link(): check for WALK_TRAILING, not LOOKUP_PARENT")
8c4efe22e7c4 ("namei: invert the meaning of WALK_FOLLOW")
b4c0353693d2 ("sanitize handling of nd->last_type, kill LAST_BIND")
ad6cc4c338f4 ("finally fold get_link() into pick_link()")
06708adb99e8 ("merging pick_link() with get_link(), part 6")
b0417d2c7298 ("merging pick_link() with get_link(), part 5")
92d270165cff ("merging pick_link() with get_link(), part 4")
40fcf5a931af ("merging pick_link() with get_link(), part 3")
1ccac622f9da ("merging pick_link() with get_link(), part 2")
43679723d27f ("merging pick_link() with get_link(), part 1")
cbae4d12eeee ("fold handle_mounts() into step_into()")
aca2903eefd0 ("new step_into() flag: WALK_NOFOLLOW")
56676ec39019 ("step_into() callers: dismiss the symlink earlier")
20e343571cef ("lookup_fast(): take mount traversal into callers")
c153007b7b7a ("teach handle_mounts() to handle RCU mode")
b023e1728bec ("lookup_fast(): consolidate the RCU success case")
db3c9ade50b1 ("handle_mounts(): pass dentry in, turn path into a pure out argument")
e73cabff5917 ("do_last(): collapse the call of path_to_nameidata()")
da5ebf5aa676 ("lookup_open(): saner calling conventions (return dentry on success)")
239eb983383b ("atomic_open(): saner calling conventions (return dentry on success)")
bd7c4b508344 ("handle_mounts(): start building a sane wrapper for follow_managed()")
31d1726d7250 ("make build_open_flags() treat O_CREAT | O_EXCL as implying O_NOFOLLOW")
6404674acd59 ("vfs: fix do_last() regression")
6aee4badd812 ("Merge branch 'work.openat2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs")