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.