Messages in this thread | | | Date | Wed, 24 Aug 2022 16:28:25 -0700 | Subject | Re: [for-linus][PATCH 01/10] tracing: Suppress sparse warnings triggered by is_signed_type() | From | Bart Van Assche <> |
| |
On 8/23/22 18:49, Linus Torvalds wrote: > On Tue, Aug 23, 2022 at 5:09 PM Bart Van Assche <bvanassche@acm.org> wrote: >> >> I'm probably doing something wrong but even with sparse commit 658ee8e0f631 >> ("unrestricted values are unrestricted even after a cast") I see warnings >> being triggered by users of the is_signed_type() macro, warnings that >> disappear if I change the definition of the is_signed_type() macro into 0: > > That's the > >> It does require that kernel change to make >> >> #define is_signed_type(type) (((type)(-1)) <= (type)0) > > part I was talking about. > > So your kernel side patch looks fine, except I don't think you need > the '__force' - the sparse patches in my tree should make sparse happy > about casting '-1'. > > But I didn't do very much testing.
Hi Linus,
Can you take a look at the following report from the kernel test robot: https://lore.kernel.org/all/202208250433.EVz5pZkB-lkp@intel.com/ ?
Do I see correctly that gcc reports a new warning for the above definition of is_signed_type() with W=1? I'm not sure how to get rid of that new gcc warning without reintroducing a sparse warning.
The tree that the kernel robot tested is available here: https://github.com/bvanassche/linux/tree/tracing
Thanks,
Bart.
| |