Re: False positive in checkpatch

From: Andy Whitcroft
Date: Tue Sep 24 2013 - 10:25:02 EST


On Mon, Sep 23, 2013 at 09:21:07PM -0700, Joe Perches wrote:
> On Mon, 2013-09-23 at 15:59 -0700, Paul E. McKenney wrote:
> > Hello!
> >
> > The checkpatch.pl script complains as follows:
> >
> > ERROR: need consistent spacing around '*' (ctx:WxB)
> > #57: FILE: include/linux/rcupdate.h:564:
> > + ACCESS_ONCE(p) = (typeof(*(v)) __force space *)(v); \
> >
> > Of course, the two uses of '*' are doing different things, so it should
> > be OK for the spacing to be different.
> >
> > Could you please fix this?
> >
> > Thanx, Paul
> >
>
> Hi Paul.
>
> Try this patch: https://lkml.org/lkml/2013/9/2/428
>
> Andy? Can you verify this suggested patch please?

Ok so fundamentally this goes wrong because we detect the typeof()
__force part as a type, but 'space' which is a type subsituted in is not
so identifiable. This leads to us identifying the '*' as a binary one.

You patch prevents the error being emitted indeed, but as we have
missidentified it anything else which applies to the correct type would
be missed I think.

I will see if I can get this to identify this form better.

-apw
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/