Build errors with latest 6.13.4-200.fc41.x86_64
Commit 2da27042d5e63c1313a94c4a44b22bad1037e77c
CC [M] evdi_platform_drv.o
In file included from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/build_bug.h:5,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/container_of.h:5,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/list.h:5,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/module.h:12,
from evdi_platform_drv.c:12:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/thread_info.h: In function ‘check_copy_size’:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/thread_info.h:253:36: error: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Werror=sign-compare]
253 | if (unlikely(sz >= 0 && sz < bytes)) {
| ^
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
In file included from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/mmzone.h:22,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/gfp.h:7,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/umh.h:4,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/kmod.h:9,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/module.h:17:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/mm_types.h: In function ‘mm_cid_is_unset’:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/mm_types.h:1184:20: error: comparison of integer expressions of different signedness: ‘int’ and ‘enum mm_cid_state’ [-Werror=sign-compare]
1184 | return cid == MM_CID_UNSET;
| ^~
In file included from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/bitmap.h:11,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cpumask.h:12,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/arch/x86/include/asm/paravirt.h:21,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/arch/x86/include/asm/cpuid.h:64,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/arch/x86/include/asm/processor.h:19,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/arch/x86/include/asm/timex.h:5,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/timex.h:67,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/time32.h:13,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/time.h:60,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/stat.h:19,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/module.h:13:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/mm_types.h: In function ‘mm_init_cid’:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/find.h:586:77: error: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
586 | for ((bit) = 0; (bit) = find_next_bit((addr), (size), (bit)), (bit) < (size); (bit)++)
| ^
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cpumask.h:295:9: note: in expansion of macro ‘for_each_set_bit’
295 | for_each_set_bit(cpu, cpumask_bits(mask), small_cpumask_bits)
| ^~~~~~~~~~~~~~~~
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cpumask.h:1037:36: note: in expansion of macro ‘for_each_cpu’
1037 | #define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
| ^~~~~~~~~~~~
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/mm_types.h:1234:9: note: in expansion of macro ‘for_each_possible_cpu’
1234 | for_each_possible_cpu(i) {
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/mmzone.h:23:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/page-flags.h: In function ‘PagePoisoned’:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/page-flags.h:293:39: error: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘long int’ [-Werror=sign-compare]
293 | return READ_ONCE(page->flags) == PAGE_POISON_PATTERN;
| ^~
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/mmzone.h: In function ‘next_zones_zonelist’:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/mmzone.h:1669:51: error: comparison of integer expressions of different signedness: ‘int’ and ‘enum zone_type’ [-Werror=sign-compare]
1669 | if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
| ^~
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/compiler.h:76:45: note: in definition of macro ‘likely’
76 | # define likely(x) __builtin_expect(!!(x), 1)
| ^
In file included from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/mm.h:34,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/scatterlist.h:8,
from /usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/dma-mapping.h:8,
from evdi_platform_drv.c:14:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cacheinfo.h: In function ‘get_cpu_cacheinfo_level’:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cacheinfo.h:128:23: error: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
128 | for (i = 0; i < ci->num_leaves; i++) {
| ^
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cacheinfo.h:129:44: error: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Werror=sign-compare]
129 | if (ci->info_list[i].level == level) {
| ^~
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cacheinfo.h: In function ‘get_cpu_cacheinfo_id’:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cacheinfo.h:147:30: error: operand of ‘?:’ changes signedness from ‘int’ to ‘unsigned int’ due to unsignedness of other operand [-Werror=sign-compare]
147 | return ci ? ci->id : -1;
| ^~
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/vmstat.h: In function ‘zone_page_state_snapshot’:
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/find.h:586:77: error: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
586 | for ((bit) = 0; (bit) = find_next_bit((addr), (size), (bit)), (bit) < (size); (bit)++)
| ^
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cpumask.h:295:9: note: in expansion of macro ‘for_each_set_bit’
295 | for_each_set_bit(cpu, cpumask_bits(mask), small_cpumask_bits)
| ^~~~~~~~~~~~~~~~
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/cpumask.h:1038:36: note: in expansion of macro ‘for_each_cpu’
1038 | #define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
| ^~~~~~~~~~~~
/usr/src/kernels/6.13.4-200.fc41.x86_64/include/linux/vmstat.h:235:9: note: in expansion of macro ‘for_each_online_cpu’
235 | for_each_online_cpu(cpu)
| ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Disabling -Werror=sign-compare] resolves (of course) but prob. not desirable.
I had the same problem on Ubuntu Asahi 24.04 with kernel 6.13.0-1002-asahi-arm. Had to comment out "-Werror=sign-compare" in the Makefile to work around type errors.
I had the same problem on Ubuntu Asahi 24.04 with kernel 6.13.0-1002-asahi-arm. Had to comment out "-Werror=sign-compare" in the Makefile to work around type errors.
Thank you. I struggelt with the latest Kernel Updates for Weeks. Now Evedi compiled again (Fedora41 6.15.9 kernel)
same problem with linux-headers-6.16-common