Hello,
syzbot tried to test the proposed patch but build/boot failed:
^
In file included from drivers/gpu/drm/i915/intel_overlay.c:28:
In file included from ./include/drm/drmP.h:36:
In file included from ./include/linux/cdev.h:5:
In file included from ./include/linux/kobject.h:20:
In file included from ./include/linux/sysfs.h:16:
In file included from ./include/linux/kernfs.h:14:
In file included from ./include/linux/idr.h:15:
In file included from ./include/linux/radix-tree.h:29:
In file included from ./include/linux/spinlock.h:88:
In file included from ./arch/x86/include/asm/spinlock.h:43:
In file included from ./arch/x86/include/asm/qrwlock.h:6:
./include/asm-generic/qrwlock.h:75:36: warning: comparison of integers of
different signs: 'int' and 'u32' (aka 'unsigned int') [-Wsign-compare]
cnts, cnts | _QW_LOCKED) ==
cnts);
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
./include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from drivers/gpu/drm/i915/intel_modes.c:29:
In file included from ./include/drm/drmP.h:37:
In file included from ./include/linux/dma-mapping.h:11:
In file included from ./include/linux/scatterlist.h:8:
In file included from ./include/linux/mm.h:1094:
./include/linux/vmstat.h:156:2: warning: comparison of integers of
different signs: 'int' and 'unsigned int' [-Wsign-compare]
for_each_online_cpu(cpu)
^~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/cpumask.h:766:36: note: expanded from
macro 'for_each_online_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/cpumask.h:231:9: note: expanded from macro 'for_each_cpu'
(cpu) < nr_cpu_ids;)
~~~ ^ ~~~~~~~~~~
In file included from drivers/gpu/drm/i915/intel_modes.c:29:
In file included from ./include/drm/drmP.h:37:
In file included from ./include/linux/dma-mapping.h:11:
In file included from ./include/linux/scatterlist.h:8:
In file included from ./include/linux/mm.h:1094:
./include/linux/vmstat.h:221:2: warning: comparison of integers of
different signs: 'int' and 'unsigned int' [-Wsign-compare]
for_each_online_cpu(cpu)
^~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/cpumask.h:766:36: note: expanded from
macro 'for_each_online_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/cpumask.h:231:9: note: expanded from macro 'for_each_cpu'
(cpu) < nr_cpu_ids;)
~~~ ^ ~~~~~~~~~~
CC drivers/gpu/drm/i915/intel_sideband.o
In file included from drivers/gpu/drm/i915/intel_overlay.c:28:
In file included from ./include/drm/drmP.h:36:
In file included from ./include/linux/cdev.h:5:
In file included from ./include/linux/kobject.h:20:
In file included from ./include/linux/sysfs.h:16:
In file included from ./include/linux/kernfs.h:14:
In file included from ./include/linux/idr.h:16:
In file included from ./include/linux/gfp.h:6:
./include/linux/mmzone.h:987:44: warning: comparison of integers of
different signs: 'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
./include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from drivers/gpu/drm/i915/intel_psr.c:54:
In file included from ./include/drm/drmP.h:36:
In file included from ./include/linux/cdev.h:5:
In file included from ./include/linux/kobject.h:20:
In file included from ./include/linux/sysfs.h:16:
In file included from ./include/linux/kernfs.h:14:
In file included from ./include/linux/idr.h:15:
In file included from ./include/linux/radix-tree.h:27:
In file included from ./include/linux/preempt.h:81:
In file included from ./arch/x86/include/asm/preempt.h:7:
./include/linux/thread_info.h:134:29: warning: comparison of integers of
different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
./include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from drivers/gpu/drm/i915/intel_psr.c:54:
In file included from ./include/drm/drmP.h:36:
In file included from ./include/linux/cdev.h:5:
In file included from ./include/linux/kobject.h:20:
In file included from ./include/linux/sysfs.h:16:
In file included from ./include/linux/kernfs.h:14:
In file included from ./include/linux/idr.h:15:
In file included from ./include/linux/radix-tree.h:29:
In file included from ./include/linux/spinlock.h:88:
In file included from ./arch/x86/include/asm/spinlock.h:43:
In file included from ./arch/x86/include/asm/qrwlock.h:6:
./include/asm-generic/qrwlock.h:75:36: warning: comparison of integers of
different signs: 'int' and 'u32' (aka 'unsigned int') [-Wsign-compare]
cnts, cnts | _QW_LOCKED) ==
cnts);
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
./include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from drivers/gpu/drm/i915/intel_sideband.c:25:
In file included from drivers/gpu/drm/i915/i915_drv.h:36:
In file included from ./include/linux/io-mapping.h:22:
In file included from ./include/linux/slab.h:15:
In file included from ./include/linux/gfp.h:5:
In file included from ./include/linux/mmdebug.h:5:
In file included from ./include/linux/bug.h:5:
In file included from ./arch/x86/include/asm/bug.h:83:
In file included from ./include/asm-generic/bug.h:18:
In file included from ./include/linux/kernel.h:11:
In file included from ./include/linux/bitops.h:38:
In file included from ./arch/x86/include/asm/bitops.h:521:
In file included from ./include/asm-generic/bitops/le.h:6:
In file included from ./arch/x86/include/uapi/asm/byteorder.h:5:
In file included from ./include/linux/byteorder/little_endian.h:11:
./include/linux/byteorder/generic.h:195:16: warning: comparison of integers
of different signs: 'int' and 'size_t' (aka 'unsigned long')
[-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
./include/linux/byteorder/generic.h:203:16: warning: comparison of integers
of different signs: 'int' and 'size_t' (aka 'unsigned long')
[-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from drivers/gpu/drm/i915/intel_overlay.c:28:
In file included from ./include/drm/drmP.h:36:
In file included from ./include/linux/cdev.h:8:
In file included from ./include/linux/device.h:25:
In file included from ./include/linux/ratelimit.h:6:
In file included from ./include/linux/sched.h:15:
In file included from ./include/linux/sem.h:5:
In file included from ./include/uapi/linux/sem.h:5:
In file included from ./include/linux/ipc.h:7:
./include/linux/rhashtable.h:304:34: warning: comparison of integers of
different signs: 'int' and 'unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) > (tbl->size / 4 * 3) &&
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
./include/linux/rhashtable.h:317:34: warning: comparison of integers of
different signs: 'int' and 'unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) < (tbl->size * 3 / 10) &&
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~
./include/linux/rhashtable.h:329:34: warning: comparison of integers of
different signs: 'int' and 'const unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) > tbl->size &&
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~
./include/linux/rhashtable.h:341:34: warning: comparison of integers of
different signs: 'int' and 'const unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) >= ht->max_elems;
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~
CC drivers/gpu/drm/i915/intel_sprite.o
15 warnings generated.
In file included from drivers/gpu/drm/i915/intel_sprite.c:32:
In file included from ./include/drm/drmP.h:35:
In file included from ./include/linux/agp_backend.h:33:
In file included from ./include/linux/list.h:9:
In file included from ./include/linux/kernel.h:11:
In file included from ./include/linux/bitops.h:38:
In file included from ./arch/x86/include/asm/bitops.h:521:
In file included from ./include/asm-generic/bitops/le.h:6:
In file included from ./arch/x86/include/uapi/asm/byteorder.h:5:
In file included from ./include/linux/byteorder/little_endian.h:11:
./include/linux/byteorder/generic.h:195:16: warning: comparison of integers
of different signs: 'int' and 'size_t' (aka 'unsigned long')
[-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
./include/linux/byteorder/generic.h:203:16: warning: comparison of integers
of different signs: 'int' and 'size_t' (aka 'unsigned long')
[-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from drivers/gpu/drm/i915/intel_psr.c:54:
In file included from ./include/drm/drmP.h:36:
In file included from ./include/linux/cdev.h:5:
In file included from ./include/linux/kobject.h:20:
In file included from ./include/linux/sysfs.h:16:
In file included from ./include/linux/kernfs.h:14:
In file included from ./include/linux/idr.h:16:
In file included from ./include/linux/gfp.h:6:
./include/linux/mmzone.h:987:44: warning: comparison of integers of
different signs: 'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
./include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
CC drivers/gpu/drm/radeon/kv_dpm.o
In file included from drivers/gpu/drm/i915/intel_overlay.c:28:
In file included from ./include/drm/drmP.h:37:
In file included from ./include/linux/dma-mapping.h:11:
In file included from ./include/linux/scatterlist.h:8:
In file included from ./include/linux/mm.h:26:
In file included from ./include/linux/page_ref.h:7:
./include/linux/page-flags.h:162:21: warning: comparison of integers of
different signs: 'const unsigned long' and 'long' [-Wsign-compare]
return page->flags == PAGE_POISON_PATTERN;
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
CC drivers/gpu/drm/amd/amdgpu/cik_sdma.o
In file included from drivers/gpu/drm/i915/intel_sideband.c:25:
In file included from drivers/gpu/drm/i915/i915_drv.h:36:
In file included from ./include/linux/io-mapping.h:22:
In file included from ./include/linux/slab.h:15:
In file included from ./include/linux/gfp.h:6:
In file included from ./include/linux/mmzone.h:8:
In file included from ./include/linux/spinlock.h:51:
In file included from ./include/linux/preempt.h:81:
In file included from ./arch/x86/include/asm/preempt.h:7:
./include/linux/thread_info.h:134:29: warning: comparison of integers of
different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
./include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from drivers/gpu/drm/i915/intel_sideband.c:25:
In file included from drivers/gpu/drm/i915/i915_drv.h:36:
In file included from ./include/linux/io-mapping.h:22:
In file included from ./include/linux/slab.h:15:
In file included from ./include/linux/gfp.h:6:
In file included from ./include/linux/mmzone.h:8:
In file included from ./include/linux/spinlock.h:88:
In file included from ./arch/x86/include/asm/spinlock.h:43:
In file included from ./arch/x86/include/asm/qrwlock.h:6:
./include/asm-generic/qrwlock.h:75:36: warning: comparison of integers of
different signs: 'int' and 'u32' (aka 'unsigned int') [-Wsign-compare]
cnts, cnts | _QW_LOCKED) ==
cnts);
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
./include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from drivers/gpu/drm/i915/intel_psr.c:54:
In file included from ./include/drm/drmP.h:36:
In file included from ./include/linux/cdev.h:8:
In file included from ./include/linux/device.h:25:
In file included from ./include/linux/ratelimit.h:6:
In file included from ./include/linux/sched.h:15:
In file included from ./include/linux/sem.h:5:
In file included from ./include/uapi/linux/sem.h:5:
In file included from ./include/linux/ipc.h:7:
./include/linux/rhashtable.h:304:34: warning: comparison of integers of
different signs: 'int' and 'unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) > (tbl->size / 4 * 3) &&
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
./include/linux/rhashtable.h:317:34: warning: comparison of integers of
different signs: 'int' and 'unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) < (tbl->size * 3 / 10) &&
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~
./include/linux/rhashtable.h:329:34: warning: comparison of integers of
different signs: 'int' and 'const unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) > tbl->size &&
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~
./include/linux/rhashtable.h:341:34: warning: comparison of integers of
different signs: 'int' and 'const unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) >= ht->max_elems;
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~
In file included from drivers/gpu/drm/i915/intel_modes.c:30:
In file included from drivers/gpu/drm/i915/intel_drv.h:33:
In file included from drivers/gpu/drm/i915/i915_drv.h:45:
./include/linux/reservation.h:122:17: warning: comparison of integers of
different signs: 'int' and 'u32' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < fobj->shared_count; ++i)
~ ^ ~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/i915/intel_modes.c:30:
In file included from drivers/gpu/drm/i915/intel_drv.h:33:
In file included from drivers/gpu/drm/i915/i915_drv.h:46:
In file included from ./include/linux/shmem_fs.h:6:
In file included from ./include/linux/swap.h:9:
In file included from ./include/linux/memcontrol.h:31:
In file included from ./include/linux/writeback.h:184:
./include/linux/bio.h:403:14: warning: comparison of integers of different
signs: 'int' and 'unsigned int' [-Wsign-compare]
if (sectors >= bio_sectors(bio))
~~~~~~~ ^ ~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/i915/intel_sprite.c:32:
In file included from ./include/drm/drmP.h:36:
In file included from ./include/linux/cdev.h:5:
In file included from ./include/linux/kobject.h:20:
In file included from ./include/linux/sysfs.h:16:
In file included from ./include/linux/kernfs.h:14:
In file included from ./include/linux/idr.h:15:
In file included from ./include/linux/radix-tree.h:27:
In file included from ./include/linux/preempt.h:81:
In file included from ./arch/x86/include/asm/preempt.h:7:
./include/linux/thread_info.h:134:29: warning: comparison of integers of
different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
./include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
CC drivers/gpu/drm/i915/intel_acpi.o
In file included from drivers/gpu/drm/i915/intel_sprite.c:32:
In file included from ./include/drm/drmP.h:36:
In file included from ./include/linu
Error text is too large and was truncated, full error text is at:
https://syzkaller.appspot.com/x/log.txt?id=5976087213375488
Tested on net commit
c246fd333f84e6a0a8572f991637aa102f5e1865 (Sun Apr 15 08:07:12 2018 +0000)
filter.txt: update 'tools/net/' to 'tools/bpf/'
compiler: clang version 7.0.0 (trunk 329391)
Patch:
https://syzkaller.appspot.com/x/patch.diff?id=4850187306532864