[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFx_F6vWpCMA3aHWHAdd-2HYZh-FJMUD7mpy3dV8QW3Odg@mail.gmail.com>
Date: Mon, 29 Feb 2016 09:24:04 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: Dmitry Vyukov <dvyukov@...gle.com>, Ian Kent <raven@...maw.net>,
Mickaël Salaün <mic@...ikod.net>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
syzkaller <syzkaller@...glegroups.com>,
Kostya Serebryany <kcc@...gle.com>,
Alexander Potapenko <glider@...gle.com>,
Sasha Levin <sasha.levin@...cle.com>,
David Howells <dhowells@...hat.com>
Subject: Re: fs: NULL deref in atime_needs_update
On Mon, Feb 29, 2016 at 8:50 AM, Al Viro <viro@...iv.linux.org.uk> wrote:
>
> In __d_entry_type(), you mean? Should be, along with READ_ONCE() there.
> AFAICS, ordering shouldn't be an issue anymore...
That's the one.
It results in those barriers in very subtle places, and it was always
unclear whether any of the users of those "d_is_*()" helper functions
really understood the subtle memory ordering involved.
The smp_rmb() is also potentially quite expensive on some architectures.
So getting rid of those hidden memory orderings would be a goodness
quite apart from fixing the bug Dmitry found.
Linus
Powered by blists - more mailing lists