lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202212112301.ad0819f7-oliver.sang@intel.com>
Date:   Sun, 11 Dec 2022 23:24:18 +0800
From:   kernel test robot <oliver.sang@...el.com>
To:     Keith Busch <kbusch@...a.com>
CC:     <oe-lkp@...ts.linux.dev>, <lkp@...el.com>, <linux-mm@...ck.org>,
        <linux-kernel@...r.kernel.org>,
        Matthew Wilcox <willy@...radead.org>,
        "Tony Battersby" <tonyb@...ernetics.com>,
        Keith Busch <kbusch@...nel.org>
Subject: Re: [PATCH 11/11] dmapool: link blocks across pages


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 <oliver.sang@...el.com>
| 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 <f3> 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]  <TASK>
[ 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]  </TASK>
[   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 <f3> 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



View attachment "config-6.1.0-rc8-00011-g3717500cb547" of type "text/plain" (170606 bytes)

View attachment "job-script" of type "text/plain" (6067 bytes)

Download attachment "dmesg.xz" of type "application/x-xz" (27052 bytes)

View attachment "nvml" of type "text/plain" (122540 bytes)

View attachment "job.yaml" of type "text/plain" (4803 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ