Re: [for-linus][PATCH 01/10] tracing: Suppress sparse warnings triggered by is_signed_type()

From: Bart Van Assche
Date: Mon Aug 22 2022 - 16:19:52 EST


On 8/22/22 11:45, Linus Torvalds wrote:
On Mon, Aug 22, 2022 at 11:20 AM Bart Van Assche <bvanassche@xxxxxxx> wrote:

I agree that it's better that sparse sees the same code as what is used to
build the kernel. However, I do not agree that the patch above is a solution.
Sparse reports a warning for the suggested definition above of is_signed_type()
because the new definition tries to use the less-than (<) operator to compare
two __bitwise types.

Argh. I forgot that part. It wasn't just the cast that warned, it was
the compare too.

But we did have a sparse fix for it, didn't we? That fix required that
the '< (type)1' cast be changed to '<= (type)0' iirc, and a patch to
sparse, but it at least avoided the problem.

Hi Linus,

I haven't seen any progress on the plan to modify sparse. Hence my attempt to
modify the is_signed_type() definition in the kernel.

Thanks,

Bart.