Messages in this thread | | | Date | Sun, 20 Nov 2016 12:11:38 +0000 | From | Mark Rutland <> | Subject | Re: [PATCH] drivers/usb: use READ_ONCE instead of deprecated ACCESS_ONCE |
| |
On Sun, Nov 20, 2016 at 10:39:32AM +0100, 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:
> 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?
FWIW, I have a Coccinelle-generated patch for that [1].
... there are a few cases where it doesn't quite work (e.g. formatting in the ath9k mac drivers), and I'm trying to put together a series [2] that fixes those cases up before leaving the bulk to Coccinelle.
I hope to sort that out in the next few days.
Thanks, Mark.
[1] https://git.kernel.org/cgit/linux/kernel/git/mark/linux.git/commit/?h=core/access-once&id=7154d3cd5f2ddcc029d1afadc472c5720408d678 [2] https://git.kernel.org/cgit/linux/kernel/git/mark/linux.git/log/?h=core/access-once
| |