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

From: Greg KH
Date: Mon Nov 21 2016 - 02:15:41 EST


On Sun, Nov 20, 2016 at 08:09:40AM -0800, Davidlohr Bueso wrote:
> Hi Greg!
>
> On Sun, 20 Nov 2016, Greg KH wrote:
>
> > 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 :(
>
> That's on purpose, and all my patches are the same.

So they are all incorrect? Not good, why? You know this means I can't
take them...

> > 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?
>
> So that we don't have three variants; the idea is to eventually
> get rid of ACCESS_ONCE entirely.

Then just get rid of it all at once.

thanks,

greg k-h