On 8/10/22 07:36, Damien Le Moal wrote:
On 2022/08/08 8:37, Bart Van Assche wrote:
Thanks for having taken a look. Please help with verifying whether the
following patch is sufficient to fix the reported warning: "[PATCH]
tracing: Suppress sparse warnings triggered by is_signed_type()"
(https://lore.kernel.org/all/20220717151047.19220-1-bvanassche@xxxxxxx/).
With the current Linus tree, I do not see this sparse warning. However, applying
the above patch, "make M=fs/zonefs C=1" generates a lot of warnings:
That doesn't make sense to me. My patch reduces the number of sparse
warnings that are reported.
make -j64 M=fs/zonefs C=1
CC [M] fs/zonefs/super.o
CC [M] fs/zonefs/sysfs.o
CHECK fs/zonefs/sysfs.c
CHECK fs/zonefs/super.c
fs/zonefs/sysfs.c: note: in included file (through include/linux/bitops.h,
include/linux/kernel.h, arch/x86/include/asm/percpu.h,
arch/x86/include/asm/preempt.h, include/linux/preempt.h,
include/linux/spinlock.h, ...):
./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
I think that you are hitting a bug in sparse. See also
https://lore.kernel.org/all/e91d351c-3c16-e48d-7e9d-9f096c4acbc9@xxxxxxxxxx/T/.
I also see the above warnings if I use the sparse binary from Debian
testing. I do not see these sparse warnings if I download the sparse
source code and compile that source code myself.
Bart.