From: kernel test robot <oliver.sang@intel.com>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>, <linux-mm@kvack.org>,
<oliver.sang@intel.com>
Subject: [vbabka:slub-percpu-sheaves-v1r5] [TESTING, HACK] 3340b9085e: BUG:kernel_NULL_pointer_dereference,address
Date: Fri, 22 Nov 2024 18:03:37 +0800 [thread overview]
Message-ID: <202411221731.acb4de27-lkp@intel.com> (raw)
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@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202411221731.acb4de27-lkp@intel.com
[ 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@intel.com
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2024-11-22 10:04 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202411221731.acb4de27-lkp@intel.com \
--to=oliver.sang@intel.com \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=oe-lkp@lists.linux.dev \
--cc=vbabka@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox