Hello, kernel test robot noticed "BUG:unable_to_handle_page_fault_for_address" on: commit: ba13210a07cb255812dff0e660a6978923724b0d ("x86/kvm: Do not try to disable kvmclock if it was not enabled") https://github.com/intel/tdx.git guest-kexec in testcase: rcutorture version: with following parameters: runtime: 300s test: cpuhotplug torture_type: tasks compiler: gcc-12 test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G (please refer to attached dmesg/kmsg for entire log/backtrace) 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/202309111410.32547f17-oliver.sang@xxxxxxxxx [ 183.786472][ T21] BUG: unable to handle page fault for address: ffffffff85f6e650 [ 183.786929][ T21] #PF: supervisor read access in kernel mode [ 183.787244][ T21] #PF: error_code(0x0000) - not-present page [ 183.787556][ T21] PGD 4492067 P4D 4492067 PUD 4493063 PMD 800ffffffa1ff062 [ 183.787959][ T21] Oops: 0000 [#1] SMP KASAN PTI [ 183.788216][ T21] CPU: 1 PID: 21 Comm: cpuhp/1 Tainted: G W 6.5.0-00004-gba13210a07cb #1 [ 183.788723][ T21] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 183.789263][ T21] RIP: 0010:kvmclock_disable (arch/x86/kernel/kvmclock.c:198 (discriminator 1)) [ 183.789557][ T21] Code: 00 b8 01 00 00 00 5b 31 d2 31 ff c3 cc cc cc cc e8 58 a2 78 00 eb cb 66 0f 1f 44 00 00 48 83 ec 08 e8 67 ec ff ff 84 c0 74 0a <8b> 05 2d ee e2 04 85 c0 75 13 48 83 c4 08 31 c0 31 d2 31 c9 31 f6 All code ======== 0: 00 b8 01 00 00 00 add %bh,0x1(%rax) 6: 5b pop %rbx 7: 31 d2 xor %edx,%edx 9: 31 ff xor %edi,%edi b: c3 retq c: cc int3 d: cc int3 e: cc int3 f: cc int3 10: e8 58 a2 78 00 callq 0x78a26d 15: eb cb jmp 0xffffffffffffffe2 17: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) 1d: 48 83 ec 08 sub $0x8,%rsp 21: e8 67 ec ff ff callq 0xffffffffffffec8d 26: 84 c0 test %al,%al 28: 74 0a je 0x34 2a:* 8b 05 2d ee e2 04 mov 0x4e2ee2d(%rip),%eax # 0x4e2ee5d <-- trapping instruction 30: 85 c0 test %eax,%eax 32: 75 13 jne 0x47 34: 48 83 c4 08 add $0x8,%rsp 38: 31 c0 xor %eax,%eax 3a: 31 d2 xor %edx,%edx 3c: 31 c9 xor %ecx,%ecx 3e: 31 f6 xor %esi,%esi Code starting with the faulting instruction =========================================== 0: 8b 05 2d ee e2 04 mov 0x4e2ee2d(%rip),%eax # 0x4e2ee33 6: 85 c0 test %eax,%eax 8: 75 13 jne 0x1d a: 48 83 c4 08 add $0x8,%rsp e: 31 c0 xor %eax,%eax 10: 31 d2 xor %edx,%edx 12: 31 c9 xor %ecx,%ecx 14: 31 f6 xor %esi,%esi [ 183.790582][ T21] RSP: 0018:ffffc9000016fd90 EFLAGS: 00210002 [ 183.790903][ T21] RAX: 0000000040000001 RBX: 0000000000000001 RCX: 0000000000000000 [ 183.791318][ T21] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 [ 183.791731][ T21] RBP: ffff8883aee27300 R08: 0000000000000000 R09: 0000000000000000 [ 183.792143][ T21] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001 [ 183.792556][ T21] R13: ffffffff84550898 R14: ffff8883aee27328 R15: ffffffff84550888 [ 183.792970][ T21] FS: 0000000000000000(0000) GS:ffff8883aee00000(0000) knlGS:0000000000000000 [ 183.793435][ T21] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 183.793785][ T21] CR2: ffffffff85f6e650 CR3: 000000012e91c000 CR4: 00000000000406a0 [ 183.794240][ T21] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 183.794652][ T21] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 183.795063][ T21] Call Trace: [ 183.795239][ T21] <TASK> [ 183.795394][ T21] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) [ 183.795603][ T21] ? page_fault_oops (arch/x86/mm/fault.c:707) [ 183.795864][ T21] ? show_fault_oops (arch/x86/mm/fault.c:635) [ 183.796124][ T21] ? kernelmode_fixup_or_oops (arch/x86/mm/fault.c:758) [ 183.796421][ T21] ? exc_page_fault (arch/x86/mm/fault.c:1484 arch/x86/mm/fault.c:1542) [ 183.796670][ T21] ? asm_exc_page_fault (arch/x86/include/asm/idtentry.h:570) [ 183.796938][ T21] ? kvmclock_disable (arch/x86/kernel/kvmclock.c:198 (discriminator 1)) [ 183.797193][ T21] kvm_cpu_down_prepare (arch/x86/kernel/kvm.c:714 (discriminator 1)) [ 183.797461][ T21] cpuhp_invoke_callback (include/linux/jump_label.h:270 include/trace/events/cpuhp.h:65 kernel/cpu.c:196) [ 183.797746][ T21] ? io_schedule_timeout (kernel/sched/core.c:6592) [ 183.798036][ T21] ? cpuhp_thread_fun (kernel/cpu.c:109 kernel/cpu.c:1094) [ 183.798303][ T21] cpuhp_thread_fun (kernel/cpu.c:1080) [ 183.798561][ T21] ? __cpuhp_state_remove_instance (kernel/cpu.c:1037) [ 183.798884][ T21] ? smpboot_thread_fn (kernel/smpboot.c:112) [ 183.799152][ T21] ? smpboot_thread_fn (kernel/smpboot.c:112) [ 183.799416][ T21] smpboot_thread_fn (kernel/smpboot.c:164 (discriminator 4)) [ 183.799678][ T21] ? sort_range (kernel/smpboot.c:109) [ 183.799906][ T21] kthread (kernel/kthread.c:389) [ 183.800123][ T21] ? kthread_complete_and_exit (kernel/kthread.c:346) [ 183.800418][ T21] ret_from_fork (arch/x86/kernel/process.c:151) [ 183.800664][ T21] ? kthread_complete_and_exit (kernel/kthread.c:346) [ 183.800959][ T21] ret_from_fork_asm (arch/x86/entry/entry_64.S:312) [ 183.801216][ T21] </TASK> [ 183.801379][ T21] Modules linked in: rcutorture torture ppdev crc32_pclmul polyval_clmulni input_leds led_class aesni_intel rtc_cmos parport_pc drm drm_panel_orientation_quirks [ 183.802235][ T21] CR2: ffffffff85f6e650 [ 183.802457][ T21] ---[ end trace 0000000000000000 ]--- [ 183.802741][ T21] RIP: 0010:kvmclock_disable (arch/x86/kernel/kvmclock.c:198 (discriminator 1)) [ 183.803026][ T21] Code: 00 b8 01 00 00 00 5b 31 d2 31 ff c3 cc cc cc cc e8 58 a2 78 00 eb cb 66 0f 1f 44 00 00 48 83 ec 08 e8 67 ec ff ff 84 c0 74 0a <8b> 05 2d ee e2 04 85 c0 75 13 48 83 c4 08 31 c0 31 d2 31 c9 31 f6 All code ======== 0: 00 b8 01 00 00 00 add %bh,0x1(%rax) 6: 5b pop %rbx 7: 31 d2 xor %edx,%edx 9: 31 ff xor %edi,%edi b: c3 retq c: cc int3 d: cc int3 e: cc int3 f: cc int3 10: e8 58 a2 78 00 callq 0x78a26d 15: eb cb jmp 0xffffffffffffffe2 17: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) 1d: 48 83 ec 08 sub $0x8,%rsp 21: e8 67 ec ff ff callq 0xffffffffffffec8d 26: 84 c0 test %al,%al 28: 74 0a je 0x34 2a:* 8b 05 2d ee e2 04 mov 0x4e2ee2d(%rip),%eax # 0x4e2ee5d <-- trapping instruction 30: 85 c0 test %eax,%eax 32: 75 13 jne 0x47 34: 48 83 c4 08 add $0x8,%rsp 38: 31 c0 xor %eax,%eax 3a: 31 d2 xor %edx,%edx 3c: 31 c9 xor %ecx,%ecx 3e: 31 f6 xor %esi,%esi Code starting with the faulting instruction =========================================== 0: 8b 05 2d ee e2 04 mov 0x4e2ee2d(%rip),%eax # 0x4e2ee33 6: 85 c0 test %eax,%eax 8: 75 13 jne 0x1d a: 48 83 c4 08 add $0x8,%rsp e: 31 c0 xor %eax,%eax 10: 31 d2 xor %edx,%edx 12: 31 c9 xor %ecx,%ecx 14: 31 f6 xor %esi,%esi The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20230911/202309111410.32547f17-oliver.sang@xxxxxxxxx -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki