Hi Kees&Linus,
after upgrading to v4.17-rc1 I started to see this sparse warning from
min_t():
drivers/net/wireless/ath/ath10k/wmi.c:4620:31: warning: expression using sizeof(void)
I counted 167 such warnings just from ath10k alone and Luca told me that
he sees similar sparse warnings with iwlwifi as well. My sparse is
pretty old (v0.5.0-44-g40791b94c56b) but Luca said updating sparse to
0.5.2 didn't help. I also see this with latest commit from Linus' tree
(83beed7b2b26).
After reverting these two commits the sparse warnings go away:
e9092d0d9796 Fix subtle macro variable shadowing in min_not_zero()
3c8ba0d61d04 kernel.h: Retain constant expression output for max()/min()
I had to revert e9092d0d9796 due to conflicts but it seems 3c8ba0d61d04
is the actual commit causing these warnings.
Is there any way to fix it? With ath10k I use sparse a lot and because
of these warnings sparse is now very annoying to use.
--
Kalle Valo
On Sat, Apr 21, 2018 at 10:50:51AM +0300, Kalle Valo wrote:
> Is there any way to fix it? With ath10k I use sparse a lot and because
> of these warnings sparse is now very annoying to use.
I submitted a sparse patch [1] for this not too long ago, but in the
meantime you can still curl the patch [2] and apply it directly to
the v0.5.2 release to suppress the deluge of warnings (-Wpointer-arith
is off by defaultl so no need to change any of you configurations).
[1] https://lkml.org/lkml/2018/4/10/923
[2] https://patchwork.kernel.org/patch/10334353/raw/
--
Cheers,
Joey Pabalinas
Joey Pabalinas <[email protected]> writes:
> On Sat, Apr 21, 2018 at 10:50:51AM +0300, Kalle Valo wrote:
>> Is there any way to fix it? With ath10k I use sparse a lot and because
>> of these warnings sparse is now very annoying to use.
>
> I submitted a sparse patch [1] for this not too long ago, but in the
> meantime you can still curl the patch [2] and apply it directly to
> the v0.5.2 release to suppress the deluge of warnings (-Wpointer-arith
> is off by defaultl so no need to change any of you configurations).
>
> [1] https://lkml.org/lkml/2018/4/10/923
> [2] https://patchwork.kernel.org/patch/10334353/raw/
Perfect, thanks. Unfortunatelly I need to catch a boat and I can't test
it right now, but I'll do that on Monday.
--
Kalle Valo
On Sat, 2018-04-21 at 11:54 +0300, Kalle Valo wrote:
> Joey Pabalinas <[email protected]> writes:
>
> > On Sat, Apr 21, 2018 at 10:50:51AM +0300, Kalle Valo wrote:
> > > Is there any way to fix it? With ath10k I use sparse a lot and
> > > because
> > > of these warnings sparse is now very annoying to use.
> >
> > I submitted a sparse patch [1] for this not too long ago, but in
> > the
> > meantime you can still curl the patch [2] and apply it directly to
> > the v0.5.2 release to suppress the deluge of warnings (-Wpointer-
> > arith
> > is off by defaultl so no need to change any of you configurations).
> >
> > [1] https://lkml.org/lkml/2018/4/10/923
> > [2] https://patchwork.kernel.org/patch/10334353/raw/
>
> Perfect, thanks. Unfortunatelly I need to catch a boat and I can't
> test
> it right now, but I'll do that on Monday.
Thanks, this solves the problem for me, but I'm still getting a lot of
this:
./include/linux/mm.h:533:24: warning: constant 0xffffc90000000000 is so big it is unsigned long
Is there a patch in sparse to solve this one as well? Or is this an
actual error that must be fixed in mm.h?
--
Cheers,
Luca.
On Mon, Apr 23, 2018 at 09:20:14AM +0300, Luciano Coelho wrote:
> Thanks, this solves the problem for me, but I'm still getting a lot of
> this:
>
> ./include/linux/mm.h:533:24: warning: constant 0xffffc90000000000 is so big it is unsigned long
>
> Is there a patch in sparse to solve this one as well? Or is this an
> actual error that must be fixed in mm.h?
This is definitely a valid warning in the general case (integer promotion
rules can cause *incredibly* difficult to find bugs if you overlook them,
so it's very useful to get a warning when a promotion occurs implicitly to
integer constants).
In this case though, you are comparing it against `unsigned long addr`
which is exactly the same type, so there's no bug.
It could possibly be argued that in:
> arch/x86/include/asm/pgtable_64_types.h:122: # define VMALLOC_START __VMALLOC_BASE_L4
> arch/x86/include/asm/pgtable_64_types.h:108: #define __VMALLOC_BASE_L4 0xffffc90000000000
__VMALLOC_BASE_L4 would be better written as 0xffffc90000000000UL, which would
indeed shut up sparse.
--
Cheers,
Joey Pabalinas
Kalle Valo <[email protected]> writes:
> Joey Pabalinas <[email protected]> writes:
>
>> On Sat, Apr 21, 2018 at 10:50:51AM +0300, Kalle Valo wrote:
>>> Is there any way to fix it? With ath10k I use sparse a lot and because
>>> of these warnings sparse is now very annoying to use.
>>
>> I submitted a sparse patch [1] for this not too long ago, but in the
>> meantime you can still curl the patch [2] and apply it directly to
>> the v0.5.2 release to suppress the deluge of warnings (-Wpointer-arith
>> is off by defaultl so no need to change any of you configurations).
>>
>> [1] https://lkml.org/lkml/2018/4/10/923
>> [2] https://patchwork.kernel.org/patch/10334353/raw/
>
> Perfect, thanks. Unfortunatelly I need to catch a boat and I can't test
> it right now, but I'll do that on Monday.
Yes, this fixed my warnings. Thanks!
--
Kalle Valo