Re: fs: NULL deref in atime_needs_update

From: Linus Torvalds
Date: Mon Feb 29 2016 - 12:24:14 EST

On Mon, Feb 29, 2016 at 8:50 AM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> 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.