Re: [for-linus][PATCH 01/10] tracing: Suppress sparse warnings triggered by is_signed_type()
From: Linus Torvalds
Date: Tue Aug 23 2022 - 19:19:02 EST
On Tue, Aug 23, 2022 at 3:05 PM Bart Van Assche <bvanassche@xxxxxxx> wrote:
>
> Thank you Rasmus for having shared this information. Since sparse will
> have to be modified anyway, how about extending it such that the bitwise
> attribute can be removed from a type, e.g. via a new no_bitwise
> attribute?
I think it's actually easier to just make sparse happy.
Can you try the sparse version at
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/sparse.git
which I just set up temporarily with some patches of mine. It also
makes that '__cond_acquires' thing work that refcount_dec_and_lock()
uses.
It does require that kernel change to make
#define is_signed_type(type) (((type)(-1)) <= (type)0)
in both places, since only "no bits set" and "all bits set" are
special values for bitwise types.
Those patches of mine are fairly hacky, and I think Luc would probably
do it differently, but apart from the very last one, they aren't
actively disgusting.
Linus