| 72287417abd1 ("open_last_lookups(): don't abuse complete_walk() when all we want is unlazy") |
| 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") |
| 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") |