Re: [PATCH] drivers/usb: use READ_ONCE instead of deprecated ACCESS_ONCE

From: Greg KH
Date: Sun Nov 20 2016 - 04:39:41 EST


On Sat, Nov 19, 2016 at 11:54:25AM -0800, Davidlohr Bueso wrote:
> With the new standardized functions, we can replace all ACCESS_ONCE()
> calls across relevant drivers/usb/.
>
> ACCESS_ONCE() does not work reliably on non-scalar types. For example
> gcc 4.6 and 4.7 might remove the volatile tag for such accesses during
> the SRA (scalar replacement of aggregates) step:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145
>
> Update the new calls regardless of if it is a scalar type, this is
> cleaner than having three alternatives.
>
> Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>

Nit, this doesn't match your From: line :(

If this is the case, why not just replacing the define for ACCESS_ONCE()
with READ_ONCE() and then go back and just do a search/replace for the
whole kernel all at once?

Or just send Linus a patch for this all at once after -rc1 is out?

thanks,

greg k-h