From: kernel test robot <oliver.sang@intel.com>
To: Juergen Gross <jgross@suse.com>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
Peter Zijlstra <peterz@infradead.org>,
<linux-kernel@vger.kernel.org>,
<virtualization@lists.linux-foundation.org>, <x86@kernel.org>,
Juergen Gross <jgross@suse.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>, Ajay Kaher <akaher@vmware.com>,
Alexey Makhalov <amakhalov@vmware.com>,
"VMware PV-Drivers Reviewers" <pv-drivers@vmware.com>,
<oliver.sang@intel.com>
Subject: Re: [PATCH v3 4/5] x86/paravirt: switch mixed paravirt/alternative calls to alternative_2
Date: Thu, 26 Oct 2023 10:44:36 +0800 [thread overview]
Message-ID: <202310261032.76a10bc0-oliver.sang@intel.com> (raw)
In-Reply-To: <20231019091520.14540-5-jgross@suse.com>
Hello,
kernel test robot noticed "BUG:unable_to_handle_page_fault_for_address" on:
commit: b0b8b06548f7984351b503ec5f5c13fa80bae6a2 ("[PATCH v3 4/5] x86/paravirt: switch mixed paravirt/alternative calls to alternative_2")
url: https://github.com/intel-lab-lkp/linux/commits/Juergen-Gross/x86-paravirt-move-some-functions-and-defines-to-alternative/20231019-171709
base: https://git.kernel.org/cgit/virt/kvm/kvm.git queue
patch link: https://lore.kernel.org/all/20231019091520.14540-5-jgross@suse.com/
patch subject: [PATCH v3 4/5] x86/paravirt: switch mixed paravirt/alternative calls to alternative_2
in testcase: boot
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)
+---------------------------------------------+------------+------------+
| | efa1a70f0b | b0b8b06548 |
+---------------------------------------------+------------+------------+
| BUG:unable_to_handle_page_fault_for_address | 0 | 14 |
| Oops:#[##] | 0 | 14 |
| EIP:apply_alternatives | 0 | 14 |
| Kernel_panic-not_syncing:Fatal_exception | 0 | 14 |
+---------------------------------------------+------------+------------+
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/202310261032.76a10bc0-oliver.sang@intel.com
[ 1.382500][ T0] BUG: unable to handle page fault for address: 84864e91
[ 1.383633][ T0] #PF: supervisor read access in kernel mode
[ 1.384579][ T0] #PF: error_code(0x0000) - not-present page
[ 1.384579][ T0] *pde = 00000000
[ 1.384579][ T0] Oops: 0000 [#1] PREEMPT SMP
[ 1.384579][ T0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.6.0-rc5-00101-gb0b8b06548f7 #1 7cb7f016c05986cc453a3ae4b37cd3712c62c0c0
[ 1.384579][ T0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 1.384579][ T0] EIP: apply_alternatives (arch/x86/kernel/alternative.c:419 arch/x86/kernel/alternative.c:489)
[ 1.384579][ T0] Code: 3c 06 0f 85 4e 02 00 00 8b 85 ec fe ff ff 80 38 ff 0f 85 3f 02 00 00 80 78 01 15 0f 85 35 02 00 00 8b 8d ec fe ff ff 8b 41 02 <8b> 44 01 06 85 c0 74 17 89 c2 81 ea 60 18 7c c2 01 95 f3 fe ff ff
All code
========
0: 3c 06 cmp $0x6,%al
2: 0f 85 4e 02 00 00 jne 0x256
8: 8b 85 ec fe ff ff mov -0x114(%rbp),%eax
e: 80 38 ff cmpb $0xff,(%rax)
11: 0f 85 3f 02 00 00 jne 0x256
17: 80 78 01 15 cmpb $0x15,0x1(%rax)
1b: 0f 85 35 02 00 00 jne 0x256
21: 8b 8d ec fe ff ff mov -0x114(%rbp),%ecx
27: 8b 41 02 mov 0x2(%rcx),%eax
2a:* 8b 44 01 06 mov 0x6(%rcx,%rax,1),%eax <-- trapping instruction
2e: 85 c0 test %eax,%eax
30: 74 17 je 0x49
32: 89 c2 mov %eax,%edx
34: 81 ea 60 18 7c c2 sub $0xc27c1860,%edx
3a: 01 95 f3 fe ff ff add %edx,-0x10d(%rbp)
Code starting with the faulting instruction
===========================================
0: 8b 44 01 06 mov 0x6(%rcx,%rax,1),%eax
4: 85 c0 test %eax,%eax
6: 74 17 je 0x1f
8: 89 c2 mov %eax,%edx
a: 81 ea 60 18 7c c2 sub $0xc27c1860,%edx
10: 01 95 f3 fe ff ff add %edx,-0x10d(%rbp)
[ 1.384579][ T0] EAX: c37e7374 EBX: c37b7e3a ECX: c107db17 EDX: 00000005
[ 1.384579][ T0] ESI: c3ffc70a EDI: 00000000 EBP: c37b7f48 ESP: c37b7e00
[ 1.384579][ T0] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 EFLAGS: 00210246
[ 1.384579][ T0] CR0: 80050033 CR2: 84864e91 CR3: 04037000 CR4: 000406d0
[ 1.384579][ T0] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 1.384579][ T0] DR6: fffe0ff0 DR7: 00000400
[ 1.384579][ T0] Call Trace:
[ 1.384579][ T0] ? show_regs (arch/x86/kernel/dumpstack.c:479)
[ 1.384579][ T0] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434)
[ 1.384579][ T0] ? oops_enter (kernel/panic.c:627)
[ 1.384579][ T0] ? page_fault_oops (arch/x86/mm/fault.c:707)
[ 1.384579][ T0] ? kernelmode_fixup_or_oops+0x9c/0xf4
[ 1.384579][ T0] ? __bad_area_nosemaphore+0x13f/0x260
[ 1.384579][ T0] ? insn_get_opcode (arch/x86/lib/insn.c:299)
[ 1.384579][ T0] ? insn_get_modrm (arch/x86/lib/insn.c:344)
[ 1.384579][ T0] ? insn_get_sib (arch/x86/lib/insn.c:422)
[ 1.384579][ T0] ? bad_area_nosemaphore (arch/x86/mm/fault.c:867)
[ 1.384579][ T0] ? do_user_addr_fault (arch/x86/mm/fault.c:1476)
[ 1.384579][ T0] ? optimize_nops (arch/x86/kernel/alternative.c:246)
[ 1.384579][ T0] ? exc_page_fault (arch/x86/include/asm/irqflags.h:26 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.384579][ T0] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1518)
[ 1.384579][ T0] ? handle_exception (arch/x86/entry/entry_32.S:1049)
[ 1.384579][ T0] ? ___pte_free_tlb (arch/x86/include/asm/paravirt.h:92 arch/x86/mm/pgtable.c:57)
[ 1.384579][ T0] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1518)
[ 1.384579][ T0] ? apply_alternatives (arch/x86/kernel/alternative.c:419 arch/x86/kernel/alternative.c:489)
[ 1.384579][ T0] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1518)
[ 1.384579][ T0] ? apply_alternatives (arch/x86/kernel/alternative.c:419 arch/x86/kernel/alternative.c:489)
[ 1.384579][ T0] ? lock_acquire (kernel/locking/lockdep.c:5670 kernel/locking/lockdep.c:5744)
[ 1.384579][ T0] ? ___pte_free_tlb (arch/x86/include/asm/paravirt.h:92 arch/x86/mm/pgtable.c:57)
[ 1.384579][ T0] alternative_instructions (arch/x86/kernel/alternative.c:1677)
[ 1.384579][ T0] ? fpu__init_cpu (arch/x86/kernel/fpu/init.c:54)
[ 1.384579][ T0] arch_cpu_finalize_init (arch/x86/kernel/cpu/common.c:2407)
[ 1.384579][ T0] start_kernel (init/main.c:1035)
[ 1.384579][ T0] ? set_init_arg (init/main.c:530)
[ 1.384579][ T0] i386_start_kernel (arch/x86/kernel/head32.c:74)
[ 1.384579][ T0] startup_32_smp (arch/x86/kernel/head_32.S:305)
[ 1.384579][ T0] Modules linked in:
[ 1.384579][ T0] CR2: 0000000084864e91
[ 1.384579][ T0] ---[ end trace 0000000000000000 ]---
[ 1.384579][ T0] EIP: apply_alternatives (arch/x86/kernel/alternative.c:419 arch/x86/kernel/alternative.c:489)
[ 1.384579][ T0] Code: 3c 06 0f 85 4e 02 00 00 8b 85 ec fe ff ff 80 38 ff 0f 85 3f 02 00 00 80 78 01 15 0f 85 35 02 00 00 8b 8d ec fe ff ff 8b 41 02 <8b> 44 01 06 85 c0 74 17 89 c2 81 ea 60 18 7c c2 01 95 f3 fe ff ff
All code
========
0: 3c 06 cmp $0x6,%al
2: 0f 85 4e 02 00 00 jne 0x256
8: 8b 85 ec fe ff ff mov -0x114(%rbp),%eax
e: 80 38 ff cmpb $0xff,(%rax)
11: 0f 85 3f 02 00 00 jne 0x256
17: 80 78 01 15 cmpb $0x15,0x1(%rax)
1b: 0f 85 35 02 00 00 jne 0x256
21: 8b 8d ec fe ff ff mov -0x114(%rbp),%ecx
27: 8b 41 02 mov 0x2(%rcx),%eax
2a:* 8b 44 01 06 mov 0x6(%rcx,%rax,1),%eax <-- trapping instruction
2e: 85 c0 test %eax,%eax
30: 74 17 je 0x49
32: 89 c2 mov %eax,%edx
34: 81 ea 60 18 7c c2 sub $0xc27c1860,%edx
3a: 01 95 f3 fe ff ff add %edx,-0x10d(%rbp)
Code starting with the faulting instruction
===========================================
0: 8b 44 01 06 mov 0x6(%rcx,%rax,1),%eax
4: 85 c0 test %eax,%eax
6: 74 17 je 0x1f
8: 89 c2 mov %eax,%edx
a: 81 ea 60 18 7c c2 sub $0xc27c1860,%edx
10: 01 95 f3 fe ff ff add %edx,-0x10d(%rbp)
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20231026/202310261032.76a10bc0-oliver.sang@intel.com
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2023-10-26 2:45 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-19 9:15 [PATCH v3 0/5] x86/paravirt: Get rid of paravirt patching Juergen Gross
2023-10-19 9:15 ` Juergen Gross via Virtualization
2023-10-19 9:15 ` [PATCH v3 1/5] x86/paravirt: move some functions and defines to alternative Juergen Gross
2023-10-19 9:15 ` Juergen Gross via Virtualization
2023-10-19 11:33 ` kernel test robot
2023-10-19 11:33 ` kernel test robot
2023-10-25 10:34 ` Borislav Petkov
2023-10-25 10:34 ` Borislav Petkov
2023-10-25 13:31 ` Juergen Gross
2023-10-25 13:31 ` Juergen Gross via Virtualization
2023-10-25 13:44 ` Borislav Petkov
2023-10-25 13:44 ` Borislav Petkov
2023-10-25 13:57 ` Juergen Gross
2023-10-25 13:57 ` Juergen Gross via Virtualization
2023-10-30 12:39 ` Juergen Gross
2023-10-30 12:39 ` Juergen Gross via Virtualization
2023-10-19 9:15 ` [PATCH v3 2/5] x86/alternative: add indirect call patching Juergen Gross
2023-10-19 9:15 ` [PATCH v3 3/5] x86/paravirt: introduce ALT_NOT_XEN Juergen Gross
2023-10-19 9:15 ` Juergen Gross via Virtualization
2023-10-19 9:15 ` [PATCH v3 4/5] x86/paravirt: switch mixed paravirt/alternative calls to alternative_2 Juergen Gross
2023-10-19 9:15 ` Juergen Gross via Virtualization
2023-10-19 11:55 ` kernel test robot
2023-10-19 11:55 ` kernel test robot
2023-10-26 2:44 ` kernel test robot [this message]
2023-10-26 6:33 ` Juergen Gross
2023-10-26 6:33 ` Juergen Gross via Virtualization
2023-10-26 9:02 ` kernel test robot
2023-10-26 9:02 ` kernel test robot
2023-10-19 9:15 ` [PATCH v3 5/5] x86/paravirt: remove no longer needed paravirt patching code Juergen Gross
2023-10-19 9:15 ` Juergen Gross via Virtualization
2023-10-19 12:06 ` kernel test robot
2023-10-19 12:06 ` kernel test robot
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=202310261032.76a10bc0-oliver.sang@intel.com \
--to=oliver.sang@intel.com \
--cc=akaher@vmware.com \
--cc=amakhalov@vmware.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=mingo@redhat.com \
--cc=oe-lkp@lists.linux.dev \
--cc=peterz@infradead.org \
--cc=pv-drivers@vmware.com \
--cc=tglx@linutronix.de \
--cc=virtualization@lists.linux-foundation.org \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.