step_into(): lose inode argument
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 4 Jul 2022 02:07:32 +0000 (22:07 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 6 Jul 2022 17:15:52 +0000 (13:15 -0400)
commita4f5b52167a80edec74093fe6fef291a0318f4ba
treec659b811d23b75c68ea04269655e87bf9f28d5ca
parent03fa86e9f79d8b9a6aa28965829a4a8646139a0a
step_into(): lose inode argument

make handle_mounts() always fetch it.  This is just the first step -
the callers of step_into() will stop trying to calculate the sucker,
etc.

The passed value should be equal to dentry->d_inode in all cases;
in RCU mode - fetched after we'd sampled ->d_seq.  Might as well
fetch it here.  We do need to validate ->d_seq, which duplicates
the check currently done in lookup_fast(); that duplication will
go away shortly.

After that change handle_mounts() always ignores the initial value of
*inode and always sets it on success.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namei.c