[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFzB6kv5Ai4M=2BXu9fxGbP_TZvNEG0QN5BNhPS+-XqHrw@mail.gmail.com>
Date: Mon, 10 Apr 2017 23:10:19 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [git pull] vfs fixes
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
Powered by blists - more mailing lists