namei: move clearing LOOKUP_RCU towards rcu_read_unlock()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 6 Jul 2022 16:40:31 +0000 (12:40 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 6 Jul 2022 16:40:31 +0000 (12:40 -0400)
commit6e180327153071281dbbf6a16759e49862debdca
treebb089c228824d356fc5387e601444a178812a8f3
parent7e4745a09426b3fe63e9fbea3190e0f8500820a4
namei: move clearing LOOKUP_RCU towards rcu_read_unlock()

try_to_unlazy()/try_to_unlazy_next() drop LOOKUP_RCU in the
very beginning and do rcu_read_unlock() only at the very end.
However, nothing done in between even looks at the flag in
question; might as well clear it at the same time we unlock.

Note that try_to_unlazy_next() used to call legitimize_mnt(),
which might drop/regain rcu_read_lock() in some cases.  This
is no longer true, so we really have rcu_read_lock() held
all along until the end.

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