[qais-yousef:generalized-misfit-lb] [sched/fair] 897408e9b7: BUG:kernel_NULL_pointer_dereference,address

From: kernel test robot
Date: Thu Dec 07 2023 - 09:35:20 EST




Message-ID: <202312072255.202c77fb-oliver.sang@xxxxxxxxx>
TO: Qais Yousef <qyousef@xxxxxxxxxxx>
CC: oe-lkp@xxxxxxxxxxxxxxx, lkp@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, aubrey.li@xxxxxxxxxxxxxxx, yu.c.chen@xxxxxxxxx
BCC:



Hello,

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

commit: 897408e9b705bc0f61b481a7622c65516bb9456d ("sched/fair: Implement new type of misfit MISFIT_POWER")
https://github.com/qais-yousef/linux generalized-misfit-lb

in testcase: boot

compiler: clang-16
test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 4G

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


+-------------------------------------------------------+------------+------------+
| | 59d2a8aad6 | 897408e9b7 |
+-------------------------------------------------------+------------+------------+
| boot_successes | 13 | 0 |
| boot_failures | 0 | 12 |
| BUG:kernel_NULL_pointer_dereference,address | 0 | 12 |
| Oops:#[##] | 0 | 12 |
| EIP:load_balance | 0 | 12 |
+-------------------------------------------------------+------------+------------+


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/202312072255.202c77fb-oliver.sang@xxxxxxxxx


[ 1.566108][ T2] BUG: kernel NULL pointer dereference, address: 00000814
[ 1.566084][ T1] devtmpfs: initialized
[ 1.566968][ T2] #PF: supervisor read access in kernel mode
[ 1.566972][ T2] #PF: error_code(0x0000) - not-present page
[ 1.568159][ T2] *pde = 00000000
[ 1.568159][ T2] Oops: 0000 [#1] PREEMPT SMP
[ 1.568159][ T2] CPU: 0 PID: 2 Comm: kthreadd Not tainted 6.7.0-rc1-00024-g897408e9b705 #7
[ 1.568159][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 1.568159][ T2] EIP: load_balance (kernel/sched/fair.c:11258)
[ 1.568159][ T2] Code: 35 b0 db cd c2 8b 4c 24 1c 8b 44 24 28 8b 51 08 8b 4c 24 40 83 f8 08 0f 83 37 19 00 00 0f a3 01 0f 83 3b 1c 00 00 8b 44 24 20 <83> b8 14 08 00 00 01 75 11 8b 44 24 2c 83 b8 14 08 00 00 01 0f 85
All code
========
0: 35 b0 db cd c2 xor $0xc2cddbb0,%eax
5: 8b 4c 24 1c mov 0x1c(%rsp),%ecx
9: 8b 44 24 28 mov 0x28(%rsp),%eax
d: 8b 51 08 mov 0x8(%rcx),%edx
10: 8b 4c 24 40 mov 0x40(%rsp),%ecx
14: 83 f8 08 cmp $0x8,%eax
17: 0f 83 37 19 00 00 jae 0x1954
1d: 0f a3 01 bt %eax,(%rcx)
20: 0f 83 3b 1c 00 00 jae 0x1c61
26: 8b 44 24 20 mov 0x20(%rsp),%eax
2a:* 83 b8 14 08 00 00 01 cmpl $0x1,0x814(%rax) <-- trapping instruction
31: 75 11 jne 0x44
33: 8b 44 24 2c mov 0x2c(%rsp),%eax
37: 83 b8 14 08 00 00 01 cmpl $0x1,0x814(%rax)
3e: 0f .byte 0xf
3f: 85 .byte 0x85

Code starting with the faulting instruction
===========================================
0: 83 b8 14 08 00 00 01 cmpl $0x1,0x814(%rax)
7: 75 11 jne 0x1a
9: 8b 44 24 2c mov 0x2c(%rsp),%eax
d: 83 b8 14 08 00 00 01 cmpl $0x1,0x814(%rax)
14: 0f .byte 0xf
15: 85 .byte 0x85
[ 1.568159][ T2] EAX: 00000000 EBX: fffedb16 ECX: c3c38398 EDX: c3c919a0
[ 1.568159][ T2] ESI: c3c383a8 EDI: c3c38398 EBP: c3e7be98 ESP: c3e7bd20
[ 1.568159][ T2] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 EFLAGS: 00010093
[ 1.568159][ T2] CR0: 80050033 CR2: 00000814 CR3: 02e36000 CR4: 00040690
[ 1.568159][ T2] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 1.568159][ T2] DR6: fffe0ff0 DR7: 00000400
[ 1.568159][ T2] Call Trace:
[ 1.568159][ T2] ? __die_body (arch/x86/kernel/dumpstack.c:478 arch/x86/kernel/dumpstack.c:420)
[ 1.568159][ T2] ? __die (arch/x86/kernel/dumpstack.c:434)
[ 1.568159][ T2] ? page_fault_oops (arch/x86/mm/fault.c:703)
[ 1.568159][ T2] ? rcu_read_lock_any_held (kernel/rcu/update.c:386)
[ 1.568159][ T2] ? kernelmode_fixup_or_oops (arch/x86/mm/fault.c:761)
[ 1.568159][ T2] ? __bad_area_nosemaphore (arch/x86/mm/fault.c:817)
[ 1.568159][ T2] ? bad_area_nosemaphore (arch/x86/mm/fault.c:866)
[ 1.568159][ T2] ? do_user_addr_fault (arch/x86/mm/fault.c:?)
[ 1.568159][ T2] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
[ 1.568159][ T2] ? exc_page_fault (arch/x86/include/asm/irqflags.h:19 arch/x86/include/asm/irqflags.h:67 arch/x86/include/asm/irqflags.h:127 arch/x86/mm/fault.c:1513 arch/x86/mm/fault.c:1561)
[ 1.568159][ T2] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1518)
[ 1.568159][ T2] ? handle_exception (arch/x86/entry/entry_32.S:1049)
[ 1.568159][ T2] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1518)
[ 1.568159][ T2] ? load_balance (kernel/sched/fair.c:11258)
[ 1.568159][ T2] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1518)
[ 1.568159][ T2] ? load_balance (kernel/sched/fair.c:11258)
[ 1.568159][ T2] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[ 1.568159][ T2] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266)
[ 1.568159][ T2] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[ 1.568159][ T2] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266)
[ 1.568159][ T2] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[ 1.568159][ T2] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266)
[ 1.568159][ T2] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
[ 1.568159][ T2] ? lock_acquire (kernel/locking/lockdep.c:?)
[ 1.568159][ T2] ? update_blocked_averages (kernel/sched/sched.h:1401)
[ 1.568159][ T2] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
[ 1.568159][ T2] ? lock_is_held_type (kernel/locking/lockdep.c:?)
[ 1.568159][ T2] newidle_balance (kernel/sched/fair.c:12425)
[ 1.568159][ T2] pick_next_task_fair (kernel/sched/fair.c:8521)
[ 1.568159][ T2] __schedule (kernel/sched/core.c:6021)
[ 1.568159][ T2] ? debug_smp_processor_id (lib/smp_processor_id.c:60)
[ 1.568159][ T2] schedule (kernel/sched/core.c:6802 kernel/sched/core.c:6816)
[ 1.568159][ T2] kthreadd (kernel/kthread.c:753)
[ 1.568159][ T2] ? kthread_stop_put (kernel/kthread.c:737)
[ 1.568159][ T2] ret_from_fork (arch/x86/kernel/process.c:153)
[ 1.568159][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:741)
[ 1.568159][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:947)
[ 1.568159][ T2] Modules linked in:
[ 1.568159][ T2] CR2: 0000000000000814
[ 1.568159][ T2] ---[ end trace 0000000000000000 ]---


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20231207/202312072255.202c77fb-oliver.sang@xxxxxxxxx



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