From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 In-Reply-To: <20170409053956.GB29622@ZenIV.linux.org.uk> References: <20170409053956.GB29622@ZenIV.linux.org.uk> From: Linus Torvalds Date: Mon, 10 Apr 2017 23:10:19 -0700 Message-ID: Subject: Re: [git pull] vfs fixes To: Al Viro Cc: Linux Kernel Mailing List , linux-fsdevel Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: 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