[vbabka:slub-percpu-sheaves-v1r5] [TESTING, HACK] 3340b9085e: BUG:kernel_NULL_pointer_dereference,address

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hello,


from commit message, we are not very clear the purpose of this HACK patch.
we just make this report FYI what we observed in our tests.
if less useful, please just ignore. thanks


kernel test robot noticed "BUG:kernel_NULL_pointer_dereference,address" on:

commit: 3340b9085e6f2a812039ed0a9ca03e8e26cc01ba ("TESTING, HACK: sheaves for everyone")
https://git.kernel.org/cgit/linux/kernel/git/vbabka/linux.git slub-percpu-sheaves-v1r5

in testcase: boot

config: i386-randconfig-005-20241113
compiler: gcc-12
test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 4G

(please refer to attached dmesg/kmsg for entire log/backtrace)


+---------------------------------------------+------------+------------+
|                                             | 0382bfb32e | 3340b9085e |
+---------------------------------------------+------------+------------+
| boot_successes                              | 18         | 0          |
| boot_failures                               | 0          | 18         |
| BUG:kernel_NULL_pointer_dereference,address | 0          | 18         |
| Oops                                        | 0          | 18         |
| EIP:__queue_work                            | 0          | 18         |
| Kernel_panic-not_syncing:Fatal_exception    | 0          | 18         |
+---------------------------------------------+------------+------------+


If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-lkp/202411221731.acb4de27-lkp@xxxxxxxxx


[    2.886567][    T1] BUG: kernel NULL pointer dereference, address: 000000f0
[    2.887104][    T1] #PF: supervisor read access in kernel mode
[    2.887541][    T1] #PF: error_code(0x0000) - not-present page
[    2.887977][    T1] *pde = 00000000
[    2.888270][    T1] Oops: Oops: 0000 [#1] PREEMPT
[    2.888628][    T1] CPU: 0 UID: 0 PID: 1 Comm: swapper Not tainted 6.12.0-rc7-00008-g3340b9085e6f #1
[    2.889305][    T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 2.890854][ T1] EIP: __queue_work (kernel/workqueue.c:2256 (discriminator 49)) 
[ 2.891479][ T1] Code: f6 0f 95 c2 31 c9 6a 00 e8 19 49 0f 00 85 f6 58 0f 85 10 02 00 00 31 d2 31 c9 b8 b8 de da c2 6a 00 e8 00 49 0f 00 58 8b 45 f0 <f7> 80 f0 00 00 00 00 80 01 00 0f 85 0c 04 00 00 b8 a0 de da c2 31
All code
========
   0:	f6 0f 95             	testb  $0x95,(%rdi)
   3:	c2 31 c9             	ret    $0xc931
   6:	6a 00                	push   $0x0
   8:	e8 19 49 0f 00       	call   0xf4926
   d:	85 f6                	test   %esi,%esi
   f:	58                   	pop    %rax
  10:	0f 85 10 02 00 00    	jne    0x226
  16:	31 d2                	xor    %edx,%edx
  18:	31 c9                	xor    %ecx,%ecx
  1a:	b8 b8 de da c2       	mov    $0xc2dadeb8,%eax
  1f:	6a 00                	push   $0x0
  21:	e8 00 49 0f 00       	call   0xf4926
  26:	58                   	pop    %rax
  27:	8b 45 f0             	mov    -0x10(%rbp),%eax
  2a:*	f7 80 f0 00 00 00 00 	testl  $0x18000,0xf0(%rax)		<-- trapping instruction
  31:	80 01 00 
  34:	0f 85 0c 04 00 00    	jne    0x446
  3a:	b8 a0 de da c2       	mov    $0xc2dadea0,%eax
  3f:	31                   	.byte 0x31

Code starting with the faulting instruction
===========================================
   0:	f7 80 f0 00 00 00 00 	testl  $0x18000,0xf0(%rax)
   7:	80 01 00 
   a:	0f 85 0c 04 00 00    	jne    0x41c
  10:	b8 a0 de da c2       	mov    $0xc2dadea0,%eax
  15:	31                   	.byte 0x31
[    2.891706][    T1] EAX: 00000000 EBX: c2c42920 ECX: 00000006 EDX: 00000000
[    2.891706][    T1] ESI: 00000000 EDI: 00000000 EBP: c4119e50 ESP: c4119e2c
[    2.891706][    T1] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 EFLAGS: 00010082
[    2.891706][    T1] CR0: 80050033 CR2: 000000f0 CR3: 02fb7000 CR4: 00040690
[    2.891706][    T1] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[    2.891706][    T1] DR6: fffe0ff0 DR7: 00000400
[    2.891706][    T1] Call Trace:
[ 2.891706][ T1] ? show_regs (arch/x86/kernel/dumpstack.c:479 arch/x86/kernel/dumpstack.c:465) 
[ 2.891706][ T1] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) 
[ 2.891706][ T1] ? page_fault_oops (arch/x86/mm/fault.c:710) 
[ 2.891706][ T1] ? kernelmode_fixup_or_oops+0x88/0xa0 
[ 2.891706][ T1] ? __bad_area_nosemaphore+0x127/0x1b0 
[ 2.891706][ T1] ? bad_area_nosemaphore (arch/x86/mm/fault.c:835) 
[ 2.891706][ T1] ? do_user_addr_fault (arch/x86/mm/fault.c:1280 (discriminator 1)) 
[ 2.891706][ T1] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67) 
[ 2.891706][ T1] ? exc_page_fault (arch/x86/include/asm/irqflags.h:26 arch/x86/include/asm/irqflags.h:87 arch/x86/include/asm/irqflags.h:147 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) 
[ 2.891706][ T1] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1494) 
[ 2.891706][ T1] ? handle_exception (arch/x86/entry/entry_32.S:1055) 
[ 2.891706][ T1] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1494) 
[ 2.891706][ T1] ? __queue_work (kernel/workqueue.c:2256 (discriminator 49)) 
[ 2.891706][ T1] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1494) 
[ 2.891706][ T1] ? __queue_work (kernel/workqueue.c:2256 (discriminator 49)) 
[ 2.891706][ T1] ? clear_pending_if_disabled (kernel/workqueue.c:2356 (discriminator 2)) 
[ 2.891706][ T1] queue_work_on (kernel/workqueue.c:2394) 
[ 2.891706][ T1] flush_all_cpus_locked (mm/slub.c:3892) 
[ 2.891706][ T1] __kmem_cache_shrink (mm/slub.c:7006) 
[ 2.891706][ T1] kmem_cache_shrink (mm/slab_common.c:566) 
[ 2.891706][ T1] acpi_os_purge_cache (drivers/acpi/osl.c:1575) 
[ 2.891706][ T1] acpi_purge_cached_objects (drivers/acpi/acpica/utxface.c:238) 
[ 2.891706][ T1] acpi_initialize_objects (drivers/acpi/acpica/utxfinit.c:253) 
[ 2.891706][ T1] acpi_bus_init (drivers/acpi/bus.c:1368) 
[ 2.891706][ T1] ? kobject_create_and_add (lib/kobject.c:799) 
[ 2.891706][ T1] acpi_init (drivers/acpi/bus.c:1452) 
[ 2.891706][ T1] ? acpi_bus_init (drivers/acpi/bus.c:1438) 
[ 2.891706][ T1] do_one_initcall (init/main.c:1269) 
[ 2.891706][ T1] ? acpi_bus_init (drivers/acpi/bus.c:1438) 
[ 2.891706][ T1] ? rcu_is_watching (kernel/rcu/tree.c:739) 
[ 2.891706][ T1] ? trace_initcall_level (include/trace/events/initcall.h:10 (discriminator 63)) 
[ 2.891706][ T1] do_initcalls (init/main.c:1330 init/main.c:1347) 
[ 2.891706][ T1] kernel_init_freeable (init/main.c:1582) 
[ 2.891706][ T1] ? rest_init (init/main.c:1461) 
[ 2.891706][ T1] kernel_init (init/main.c:1471) 
[ 2.891706][ T1] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 2.891706][ T1] ? rest_init (init/main.c:1461) 
[ 2.891706][ T1] ret_from_fork_asm (arch/x86/entry/entry_32.S:737) 
[ 2.891706][ T1] entry_INT80_32 (arch/x86/entry/entry_32.S:945) 
[    2.891706][    T1] Modules linked in:
[    2.891706][    T1] CR2: 00000000000000f0
[    2.891706][    T1] ---[ end trace 0000000000000000 ]---
[ 2.891706][ T1] EIP: __queue_work (kernel/workqueue.c:2256 (discriminator 49)) 
[ 2.891706][ T1] Code: f6 0f 95 c2 31 c9 6a 00 e8 19 49 0f 00 85 f6 58 0f 85 10 02 00 00 31 d2 31 c9 b8 b8 de da c2 6a 00 e8 00 49 0f 00 58 8b 45 f0 <f7> 80 f0 00 00 00 00 80 01 00 0f 85 0c 04 00 00 b8 a0 de da c2 31
All code
========
   0:	f6 0f 95             	testb  $0x95,(%rdi)
   3:	c2 31 c9             	ret    $0xc931
   6:	6a 00                	push   $0x0
   8:	e8 19 49 0f 00       	call   0xf4926
   d:	85 f6                	test   %esi,%esi
   f:	58                   	pop    %rax
  10:	0f 85 10 02 00 00    	jne    0x226
  16:	31 d2                	xor    %edx,%edx
  18:	31 c9                	xor    %ecx,%ecx
  1a:	b8 b8 de da c2       	mov    $0xc2dadeb8,%eax
  1f:	6a 00                	push   $0x0
  21:	e8 00 49 0f 00       	call   0xf4926
  26:	58                   	pop    %rax
  27:	8b 45 f0             	mov    -0x10(%rbp),%eax
  2a:*	f7 80 f0 00 00 00 00 	testl  $0x18000,0xf0(%rax)		<-- trapping instruction
  31:	80 01 00 
  34:	0f 85 0c 04 00 00    	jne    0x446
  3a:	b8 a0 de da c2       	mov    $0xc2dadea0,%eax
  3f:	31                   	.byte 0x31

Code starting with the faulting instruction
===========================================
   0:	f7 80 f0 00 00 00 00 	testl  $0x18000,0xf0(%rax)
   7:	80 01 00 
   a:	0f 85 0c 04 00 00    	jne    0x41c
  10:	b8 a0 de da c2       	mov    $0xc2dadea0,%eax
  15:	31                   	.byte 0x31


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20241122/202411221731.acb4de27-lkp@xxxxxxxxx



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux