By the way, the code currently reads:
int d_validate(struct dentry *dentry, struct dentry *parent)
{
[...]
rcu_read_lock();
hlist_for_each_entry_rcu(d, node, head, d_hash) {
if (d == dentry) {
dget(dentry);
return 1;
}
}
rcu_read_unlock();
return 0;
}
I know nothing about rcu_read_lock(), but why is there no
rcu_read_unlock() before the "return 1" case?
Paul Bolle
--