Re: [PATCH] checkpatch: Whine about ACCESS_ONCE

From: Joe Perches
Date: Sun Apr 17 2016 - 04:28:16 EST


On Sun, 2016-04-17 at 07:43 +0200, Julia Lawall wrote:
> On Sat, 16 Apr 2016, Joe Perches wrote:
> > On Sat, 2016-04-16 at 12:04 -0700, Joe Perches wrote:
> > > Add a test for use of ACCESS_ONCE that could be written using
> > > READ_ONCE or WRITE_ONCE.
> > > 
> > > --fix it too if desired.
>
> > And here's a simple coccinelle script that does a
> > rather better job:
>
> > $ cat access_once.cocci
> > @@
> > expression e1;
> > expression e2;
> > @@
>
> > -     ACCESS_ONCE(e1) = e2
> > +     WRITE_ONCE(e1, e2)
>
> > @@
> > expression e1;
> > @@
>
> > -     ACCESS_ONCE(e1)
> > +     READ_ONCE(e1)
>
> Looks good to me.  Is this something to put in the kernel?

Maybe.  There are more than 500 of these ACCESS_ONCE
uses that could be converted.

The kernel cocci scripts are typically more complicated
with virtual org/report/context/patch blocks.

So perhaps this needs to be fleshed out more.

Works for me as-is though.