On Fri, Jan 10, 2020 at 11:47 AM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > Isn't the read_barrier_depends() the only reason for actually needing > the temporary local variable that must not be volatile? > > If you make alpha provide its own READ_ONCE() as the first > step, it would seem that the rest of the series gets much easier > as the others can go back to the simple statement from your Hmm.. The union still would cause that "take the address of a volatile thing on the stack" problem, wouldn't it? And that was what caused most of the issues. I think the _real_ issue is how KASAN forces that odd pair of inline functions in order to have the annotations on the accesses. Linus