Greeting, FYI, we noticed BUG:unable_to_handle_page_fault_for_address due to commit (built with gcc-11): commit: 3717500cb5479136121a65d22d48f4b5e940bba4 ("[PATCH 11/11] dmapool: link blocks across pages") url: https://github.com/intel-lab-lkp/linux/commits/Keith-Busch/dmapool-enhancements/20221205-232116 base: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git 76dcd734eca23168cb008912c0f69ff408905235 patch link: https://lore.kernel.org/all/20221205145937.54367-12-kbusch@meta.com/ patch subject: [PATCH 11/11] dmapool: link blocks across pages in testcase: nvml version: nvml-x86_64-ec9fc0404-1_20221026 with following parameters: test: pmem group: libpmempool nr_pmem: 1 fs: ext4 mount_option: dax bp_memmap: 32G!4G on test machine: 16 threads 1 sockets Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz (Broadwell-DE) with 48G memory caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace): If you fix the issue, kindly add following tag | Reported-by: kernel test robot | Link: https://lore.kernel.org/oe-lkp/202212112301.ad0819f7-oliver.sang@intel.com [ 25.268833][ T1] BUG: unable to handle page fault for address: ffff88807bdb6000 [ 25.269731][ T1] #PF: supervisor write access in kernel mode [ 25.269731][ T1] #PF: error_code(0x0002) - not-present page [ 25.269731][ T1] PGD c7fe01067 P4D c7fe01067 PUD c7fe04067 PMD c7fe07067 PTE 0 [ 25.269731][ T1] Oops: 0002 [#1] SMP KASAN PTI [ 25.269731][ T1] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 6.1.0-rc8-00011-g3717500cb547 #1 [ 25.269731][ T1] Hardware name: Supermicro SYS-5018D-FN4T/X10SDV-8C-TLN4F, BIOS 1.1 03/02/2016 [ 25.269731][ T1] RIP: 0010:memset_erms (arch/x86/lib/memset_64.S:64) [ 25.269731][ T1] Code: c1 e9 03 40 0f b6 f6 48 b8 01 01 01 01 01 01 01 01 48 0f af c6 f3 48 ab 89 d1 f3 aa 4c 89 c8 c3 90 49 89 f9 40 88 f0 48 89 d1 aa 4c 89 c8 c3 90 49 89 fa 40 0f b6 ce 48 b8 01 01 01 01 01 01 All code ======== 0: c1 e9 03 shr $0x3,%ecx 3: 40 0f b6 f6 movzbl %sil,%esi 7: 48 b8 01 01 01 01 01 movabs $0x101010101010101,%rax e: 01 01 01 11: 48 0f af c6 imul %rsi,%rax 15: f3 48 ab rep stos %rax,%es:(%rdi) 18: 89 d1 mov %edx,%ecx 1a: f3 aa rep stos %al,%es:(%rdi) 1c: 4c 89 c8 mov %r9,%rax 1f: c3 retq 20: 90 nop 21: 49 89 f9 mov %rdi,%r9 24: 40 88 f0 mov %sil,%al 27: 48 89 d1 mov %rdx,%rcx 2a:* f3 aa rep stos %al,%es:(%rdi) <-- trapping instruction 2c: 4c 89 c8 mov %r9,%rax 2f: c3 retq 30: 90 nop 31: 49 89 fa mov %rdi,%r10 34: 40 0f b6 ce movzbl %sil,%ecx 38: 48 rex.W 39: b8 01 01 01 01 mov $0x1010101,%eax 3e: 01 01 add %eax,(%rcx) Code starting with the faulting instruction =========================================== 0: f3 aa rep stos %al,%es:(%rdi) 2: 4c 89 c8 mov %r9,%rax 5: c3 retq 6: 90 nop 7: 49 89 fa mov %rdi,%r10 a: 40 0f b6 ce movzbl %sil,%ecx e: 48 rex.W f: b8 01 01 01 01 mov $0x1010101,%eax 14: 01 01 add %eax,(%rcx) [ 25.269731][ T1] RSP: 0000:ffffc90000057630 EFLAGS: 00010202 [ 25.269731][ T1] RAX: 0000000000000000 RBX: ffff888952c8e400 RCX: 0000000000000020 [ 25.269731][ T1] RDX: 0000000000000060 RSI: 0000000000000000 RDI: ffff88807bdb6000 [ 25.269731][ T1] RBP: 000000007bdb5fc0 R08: 0000000000000001 R09: ffff88807bdb5fc0 [ 25.269731][ T1] R10: ffffed100f7b6c03 R11: 0000000000000001 R12: ffff88807bdb5fc0 [ 25.269731][ T1] R13: ffff88807bdb5fc0 R14: 0000000000000100 R15: ffff888952c8e410 [ 25.269731][ T1] FS: 0000000000000000(0000) GS:ffff888b9fa80000(0000) knlGS:0000000000000000 [ 25.269731][ T1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 25.269731][ T1] CR2: ffff88807bdb6000 CR3: 0000000c7e20e001 CR4: 00000000003706e0 [ 25.269731][ T1] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 25.269731][ T1] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 25.269731][ T1] Call Trace: [ 25.269731][ T1] [ 25.269731][ T1] dma_pool_alloc (mm/dmapool.c:370) [ 25.269731][ T1] ? kasan_set_track (mm/kasan/common.c:52) [ 25.269731][ T1] ehci_qh_alloc (drivers/usb/host/ehci-mem.c:75) [ 25.269731][ T1] ? ehci_qtd_alloc (drivers/usb/host/ehci-mem.c:68) [ 25.269731][ T1] ? dma_pool_create (mm/dmapool.c:215) [ 25.269731][ T1] ehci_mem_init+0x10a/0x780 [ 25.269731][ T1] ? __hrtimer_init (kernel/time/hrtimer.c:1559) [ 25.269731][ T1] ehci_init (drivers/usb/host/ehci-hcd.c:504) [ 25.269731][ T1] ehci_setup (drivers/usb/early/ehci-dbgp.c:811 (discriminator 3)) [ 25.269731][ T1] ehci_pci_setup (drivers/usb/host/ehci-pci.c:261) [ 25.269731][ T1] ? ehci_pci_resume (drivers/usb/host/ehci-pci.c:91) [ 25.269731][ T1] ? mutex_unlock (arch/x86/include/asm/atomic64_64.h:190 include/linux/atomic/atomic-long.h:449 include/linux/atomic/atomic-instrumented.h:1790 kernel/locking/mutex.c:181 kernel/locking/mutex.c:540) [ 25.269731][ T1] ? __mutex_unlock_slowpath+0x2a0/0x2a0 [ 25.269731][ T1] ? usb_alloc_dev (drivers/usb/core/usb.c:670) [ 25.269731][ T1] usb_add_hcd.cold (drivers/usb/core/hcd.c:2939) [ 25.269731][ T1] usb_hcd_pci_probe (drivers/usb/core/hcd-pci.c:259) [ 25.269731][ T1] ? ehci_pci_remove (drivers/usb/host/ehci-pci.c:382) [ 25.269731][ T1] local_pci_probe (drivers/pci/pci-driver.c:324) [ 25.269731][ T1] pci_call_probe (drivers/pci/pci-driver.c:392) [ 25.269731][ T1] ? _raw_spin_lock (arch/x86/include/asm/atomic.h:202 include/linux/atomic/atomic-instrumented.h:543 include/asm-generic/qspinlock.h:111 include/linux/spinlock.h:186 include/linux/spinlock_api_smp.h:134 kernel/locking/spinlock.c:154) [ 25.269731][ T1] ? pci_pm_suspend_noirq (drivers/pci/pci-driver.c:352) [ 25.269731][ T1] ? pci_assign_irq (drivers/pci/setup-irq.c:25) [ 25.269731][ T1] ? pci_match_device (drivers/pci/pci-driver.c:108 drivers/pci/pci-driver.c:159) [ 25.269731][ T1] ? kernfs_put (arch/x86/include/asm/atomic.h:123 (discriminator 1) include/linux/atomic/atomic-instrumented.h:576 (discriminator 1) fs/kernfs/dir.c:536 (discriminator 1)) [ 25.269731][ T1] pci_device_probe (drivers/pci/pci-driver.c:461) [ 25.269731][ T1] really_probe (drivers/base/dd.c:560 drivers/base/dd.c:639) [ 25.269731][ T1] __driver_probe_device (drivers/base/dd.c:719 drivers/base/dd.c:776) [ 25.269731][ T1] driver_probe_device (drivers/base/dd.c:808) [ 25.269731][ T1] __driver_attach (drivers/base/dd.c:1191) [ 25.269731][ T1] ? __device_attach_driver (drivers/base/dd.c:1135) [ 25.269731][ T1] bus_for_each_dev (drivers/base/bus.c:301) [ 25.269731][ T1] ? subsys_dev_iter_exit (drivers/base/bus.c:290) [ 25.269731][ T1] ? __kmem_cache_alloc_node (mm/slub.c:3400 mm/slub.c:3437) [ 25.269731][ T1] ? klist_add_tail (include/linux/list.h:69 include/linux/list.h:102 lib/klist.c:104 lib/klist.c:137) [ 25.269731][ T1] bus_add_driver (drivers/base/bus.c:618) [ 25.269731][ T1] driver_register (drivers/base/driver.c:246) [ 25.269731][ T1] ? ehci_hcd_init (drivers/usb/host/ehci-pci.c:422) [ 25.269731][ T1] do_one_initcall (init/main.c:1303) [ 25.269731][ T1] ? trace_event_raw_event_initcall_level (init/main.c:1294) [ 25.269731][ T1] ? parse_one (kernel/params.c:170) [ 25.269731][ T1] ? do_initcalls (init/main.c:1386) [ 25.269731][ T1] ? kasan_set_track (mm/kasan/common.c:52) [ 25.269731][ T1] ? __kasan_kmalloc (mm/kasan/common.c:381) [ 25.269731][ T1] do_initcalls (init/main.c:1375 init/main.c:1392) [ 25.269731][ T1] kernel_init_freeable (init/main.c:1635) [ 25.269731][ T1] ? console_on_rootfs (init/main.c:1601) [ 25.269731][ T1] ? usleep_range_state (kernel/time/timer.c:1897) [ 25.269731][ T1] ? _raw_spin_lock_bh (kernel/locking/spinlock.c:169) [ 25.269731][ T1] ? rest_init (init/main.c:1511) [ 25.269731][ T1] ? rest_init (init/main.c:1511) [ 25.269731][ T1] kernel_init (init/main.c:1521) [ 25.269731][ T1] ret_from_fork (arch/x86/entry/entry_64.S:312) [ 25.269731][ T1] [ 25.269731][ T1] Modules linked in: [ 25.269731][ T1] CR2: ffff88807bdb6000 [ 25.269731][ T1] ---[ end trace 0000000000000000 ]--- [ 25.269731][ T1] RIP: 0010:memset_erms (arch/x86/lib/memset_64.S:64) [ 25.269731][ T1] Code: c1 e9 03 40 0f b6 f6 48 b8 01 01 01 01 01 01 01 01 48 0f af c6 f3 48 ab 89 d1 f3 aa 4c 89 c8 c3 90 49 89 f9 40 88 f0 48 89 d1 aa 4c 89 c8 c3 90 49 89 fa 40 0f b6 ce 48 b8 01 01 01 01 01 01 All code ======== 0: c1 e9 03 shr $0x3,%ecx 3: 40 0f b6 f6 movzbl %sil,%esi 7: 48 b8 01 01 01 01 01 movabs $0x101010101010101,%rax e: 01 01 01 11: 48 0f af c6 imul %rsi,%rax 15: f3 48 ab rep stos %rax,%es:(%rdi) 18: 89 d1 mov %edx,%ecx 1a: f3 aa rep stos %al,%es:(%rdi) 1c: 4c 89 c8 mov %r9,%rax 1f: c3 retq 20: 90 nop 21: 49 89 f9 mov %rdi,%r9 24: 40 88 f0 mov %sil,%al 27: 48 89 d1 mov %rdx,%rcx 2a:* f3 aa rep stos %al,%es:(%rdi) <-- trapping instruction 2c: 4c 89 c8 mov %r9,%rax 2f: c3 retq 30: 90 nop 31: 49 89 fa mov %rdi,%r10 34: 40 0f b6 ce movzbl %sil,%ecx 38: 48 rex.W 39: b8 01 01 01 01 mov $0x1010101,%eax 3e: 01 01 add %eax,(%rcx) Code starting with the faulting instruction =========================================== 0: f3 aa rep stos %al,%es:(%rdi) 2: 4c 89 c8 mov %r9,%rax 5: c3 retq 6: 90 nop 7: 49 89 fa mov %rdi,%r10 a: 40 0f b6 ce movzbl %sil,%ecx e: 48 rex.W f: b8 01 01 01 01 mov $0x1010101,%eax 14: 01 01 add %eax,(%rcx) To reproduce: git clone https://github.com/intel/lkp-tests.git cd lkp-tests sudo bin/lkp install job.yaml # job file is attached in this email bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run sudo bin/lkp run generated-yaml-file # if come across any failure that blocks the test, # please remove ~/.lkp and /lkp dir to run from a clean state. -- 0-DAY CI Kernel Test Service https://01.org/lkp