Re: [git pull] vfs fixes
From: Linus Torvalds
Date: Tue Apr 11 2017 - 02:10:30 EST
Hey Al,
mind looking at fs/namei,c line 2186:
if (likely(!nd_jump_root(nd)))
return s;
nd->root.mnt = NULL;
--> rcu_read_unlock(); <--
return ERR_PTR(-ECHILD);
because that rcu_read_unlock() looks odd.
It looks odd because the lock part is
if (flags & LOOKUP_RCU)
rcu_read_lock();
ie it's locked conditionally, and the code in between does not seem to
return every time LOOKUP_RCU is clear.
So mind giving this a look? Is it as obviously buggy as I think it is,
or is there something I'm missing?
Linus