# git rev-parse -q --verify 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf^{commit} 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf already have revision, skipping fetch # git checkout -q -f -B kisskb 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf # git clean -qxdf # < git log -1 # commit 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf # Author: Fedor Pchelkin # Date: Sun Jan 14 00:33:45 2024 +0300 # # drm/ttm: fix ttm pool initialization for no-dma-device drivers # # The QXL driver doesn't use any device for DMA mappings or allocations so # dev_to_node() will panic inside ttm_device_init() on NUMA systems: # # general protection fault, probably for non-canonical address 0xdffffc000000007a: 0000 [#1] PREEMPT SMP KASAN NOPTI # KASAN: null-ptr-deref in range [0x00000000000003d0-0x00000000000003d7] # CPU: 1 PID: 1 Comm: swapper/0 Not tainted 6.7.0+ #9 # Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.2-3-gd478f380-rebuilt.opensuse.org 04/01/2014 # RIP: 0010:ttm_device_init+0x10e/0x340 # Call Trace: # qxl_ttm_init+0xaa/0x310 # qxl_device_init+0x1071/0x2000 # qxl_pci_probe+0x167/0x3f0 # local_pci_probe+0xe1/0x1b0 # pci_device_probe+0x29d/0x790 # really_probe+0x251/0x910 # __driver_probe_device+0x1ea/0x390 # driver_probe_device+0x4e/0x2e0 # __driver_attach+0x1e3/0x600 # bus_for_each_dev+0x12d/0x1c0 # bus_add_driver+0x25a/0x590 # driver_register+0x15c/0x4b0 # qxl_pci_driver_init+0x67/0x80 # do_one_initcall+0xf5/0x5d0 # kernel_init_freeable+0x637/0xb10 # kernel_init+0x1c/0x2e0 # ret_from_fork+0x48/0x80 # ret_from_fork_asm+0x1b/0x30 # RIP: 0010:ttm_device_init+0x10e/0x340 # # Fall back to NUMA_NO_NODE if there is no device for DMA. # # Found by Linux Verification Center (linuxtesting.org). # # Fixes: b0a7ce53d494 ("drm/ttm: Schedule delayed_delete worker closer") # Signed-off-by: Fedor Pchelkin # Reviewed-by: Christian König # Reported-by: Steven Rostedt # Cc: Rajneesh Bhardwaj # Cc: Felix Kuehling # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux-ld --version # < git log --format=%s --max-count=1 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- allyesconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_SAMPLES=n # < make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- help # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- olddefconfig # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- In file included from /kisskb/src/include/linux/string.h:292, from /kisskb/src/include/linux/bitmap.h:12, from /kisskb/src/include/linux/cpumask.h:12, from /kisskb/src/include/linux/smp.h:13, from /kisskb/src/include/linux/lockdep.h:14, from /kisskb/src/include/linux/mutex.h:17, from /kisskb/src/include/linux/ww_mutex.h:20, from /kisskb/src/include/drm/drm_exec.h:7, from /kisskb/src/drivers/gpu/drm/xe/xe_gt_pagefault.c:11: /kisskb/src/drivers/gpu/drm/xe/xe_gt_pagefault.c: In function 'xe_guc_pagefault_handler': /kisskb/src/include/linux/fortify-string.h:57:33: error: writing 16 bytes into a region of size 0 [-Werror=stringop-overflow=] 57 | #define __underlying_memcpy __builtin_memcpy | ^ /kisskb/src/include/linux/fortify-string.h:593:9: note: in expansion of macro '__underlying_memcpy' 593 | __underlying_##op(p, q, __fortify_size); \ | ^~~~~~~~~~~~~ /kisskb/src/include/linux/fortify-string.h:638:26: note: in expansion of macro '__fortify_memcpy_chk' 638 | #define memcpy(p, q, s) __fortify_memcpy_chk(p, q, s, \ | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/drivers/gpu/drm/xe/xe_gt_pagefault.c:340:17: note: in expansion of macro 'memcpy' 340 | memcpy(pf_queue->data + pf_queue->tail, msg, len * sizeof(u32)); | ^~~~~~ In file included from /kisskb/src/drivers/gpu/drm/xe/xe_device_types.h:17, from /kisskb/src/drivers/gpu/drm/xe/xe_vm_types.h:16, from /kisskb/src/drivers/gpu/drm/xe/xe_bo.h:13, from /kisskb/src/drivers/gpu/drm/xe/xe_gt_pagefault.c:16: /kisskb/src/drivers/gpu/drm/xe/xe_gt_types.h:102:25: note: at offset [1144, 265324] into destination object 'tile' of size 8 102 | struct xe_tile *tile; | ^~~~ cc1: all warnings being treated as errors make[7]: *** [/kisskb/src/scripts/Makefile.build:243: drivers/gpu/drm/xe/xe_gt_pagefault.o] Error 1 make[7]: *** Waiting for unfinished jobs.... make[6]: *** [/kisskb/src/scripts/Makefile.build:481: drivers/gpu/drm/xe] Error 2 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:481: drivers/gpu/drm] Error 2 make[4]: *** [/kisskb/src/scripts/Makefile.build:481: drivers/gpu] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:481: drivers] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/Makefile:1921: .] Error 2 make[1]: *** [/kisskb/src/Makefile:240: __sub-make] Error 2 make: *** [Makefile:240: __sub-make] Error 2 Command 'make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allyesconfig_s390x-gcc13 # Build took: 0:08:59.860713