[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The latest Qemu release can't bootup VM with latest guest kernel.
From: |
Claudio Fontana |
Subject: |
Re: The latest Qemu release can't bootup VM with latest guest kernel. |
Date: |
Thu, 3 Jun 2021 16:22:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 |
On 6/3/21 4:08 PM, Dr. David Alan Gilbert wrote:
> * Yang Zhong (yang.zhong@intel.com) wrote:
>> On Sun, May 23, 2021 at 03:23:30PM +0300, Gal Hammer wrote:
>>> Hi Yang,
>>>
>>> On Thu, 20 May 2021 at 11:27, Yang Zhong <yang.zhong@intel.com> wrote:
>>>
>>>> Hello all,
>>>>
>>>> I found the latest Qemu release can't bootup the VM with latest guest
>>>> kernel(>5.13).
>>>>
>>>> The normal v6.0.0 release is good to bootup the latest guest kernel.
>>>>
>>>> There are two issues were found
>>>> 1. Guest kernel panic.
>>>> 2. kvm disabled by bios
>>>>
>>>> The panic log as below:
>>>> [ 2.250024] BUG: unable to handle page fault for address:
>>>> ffffffffac06c55f
>>>> [ 2.252226] #PF: supervisor write access in kernel mode
>>>> [ 2.253892] #PF: error_code(0x0003) - permissions violation
>>>> [ 2.255671] PGD 5940e067 P4D 5940f067 PUD 59410063 PMD 580001e1
>>>> [ 2.257567] Oops: 0003 [#1] SMP NOPTI
>>>> [ 2.258738] CPU: 2 PID: 313 Comm: systemd-udevd Not tainted 5.13.0-rc1+
>>>> #1
>>>> [ 2.260899] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS
>>>> 0.0.0 02/06/2015
>>>> [ 2.263375] RIP: 0010:__send_ipi_mask+0x1bf/0x240
>>>> [ 2.264855] Code: c0 48 c7 44 24 18 00 00 00 00 e9 48 ff ff ff 48 89 d0
>>>> 4c 09 c8 74 1b 49 63 d7 48 63 74 24 0c b8 0a 00 00 00 4c 89 cb 4c 89 d1
>>>> <0f> 01 d9 48 85 c0 78 4a 48 f7 04 24 00 02 00 00 0f 84 80 fe ff ff
>>>> [ 2.270643] RSP: 0018:ff591a62c0193ab0 EFLAGS: 00010006
>>>> [ 2.272277] RAX: 000000000000000a RBX: 0000000000000009 RCX:
>>>> 0000000000000000
>>>> [ 2.274482] RDX: 0000000000000000 RSI: 00000000000000fc RDI:
>>>> ff13a83dc003c830
>>>> [ 2.276663] RBP: ff591a62c0193b08 R08: 0000000000000004 R09:
>>>> 0000000000000009
>>>> [ 2.278866] R10: 0000000000000000 R11: 0000000000000000 R12:
>>>> 0000000000000000
>>>> [ 2.281065] R13: ff13a83dc003c830 R14: 0000000000011580 R15:
>>>> 0000000000000000
>>>> [ 2.283272] FS: 00007f23ebd07940(0000) GS:ff13a83e3bd00000(0000)
>>>> knlGS:0000000000000000
>>>> [ 2.285794] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>>> [ 2.287574] CR2: ffffffffac06c55f CR3: 0000000106ce2003 CR4:
>>>> 0000000000771ee0
>>>> [ 2.289757] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
>>>> 0000000000000000
>>>> [ 2.291972] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
>>>> 0000000000000400
>>>> [ 2.294177] PKRU: 55555554
>>>> [ 2.295043] Call Trace:
>>>> [ 2.295820] kvm_smp_send_call_func_ipi+0xe/0x60
>>>> [ 2.297220] smp_call_function_many_cond+0x25d/0x2a0
>>>> [ 2.298772] ? flush_tlb_one_kernel+0x20/0x20
>>>> [ 2.300145] on_each_cpu_cond_mask+0x1e/0x20
>>>> [ 2.301514] flush_tlb_kernel_range+0x8d/0x90
>>>> [ 2.302799] __purge_vmap_area_lazy+0xc1/0x6a0
>>>> [ 2.304097] ? cpumask_next+0x1f/0x20
>>>> [ 2.305160] ? purge_fragmented_blocks_allcpus+0x3d/0x210
>>>> [ 2.306686] _vm_unmap_aliases+0xf1/0x120
>>>> [ 2.307861] change_page_attr_set_clr+0x95/0x280
>>>> [ 2.309203] set_memory_ro+0x26/0x30
>>>> [ 2.310259] ? 0xffffffffc00f7000
>>>> [ 2.311214] module_enable_ro.part.58+0x62/0xc0
>>>> [ 2.312417] do_init_module+0x17a/0x230
>>>> [ 2.313460] load_module+0x1a30/0x1b00
>>>> [ 2.314463] ? __do_sys_finit_module+0xad/0x110
>>>> [ 2.315702] __do_sys_finit_module+0xad/0x110
>>>> [ 2.316890] do_syscall_64+0x39/0x80
>>>> [ 2.317868] entry_SYSCALL_64_after_hwframe+0x44/0xae
>>>> [ 2.319226] RIP: 0033:0x7f23ea8f32bd
>>>>
>>>>
>>>> I also used the bisect to get the bad commit id:
>>>> f5cc5a5c168674f84bf061cdb307c2d25fba5448
>>>>
>>>> This issue is known issue? or some fixs are ready to fix those issues?
>>>> thanks!
>>>>
>>>
>>> What's your qemu command line?
>>>
>>> I'm also having a kernel crash (although I think mine is with a different
>>> call stack) when using "-cpu host". The crash doesn't occur when I use
>>> "kvm64" cpu type.
>>>
>>
>> Hello Gal,
>>
>> Let me list my host and guest environment
>> Host: Icelake, Linux5.13.0-rc1+
>> Guest: Linux5.13.0-rc1+
>>
>> The Qemu command line:
>> ./qemu-system-x86_64 \
>> -machine q35 \
>> -accel kvm \
>> -m 4096 \
>> -smp 4 \
>> -cpu host \
>> -bios /home/vmm/project/images/OVMF-upstream.fd \
>> -drive
>> format=raw,file=/root/project/images/SGX_rhel8_efi.img,index=0,media=disk \
>> -netdev user,id=guest0,hostfwd=tcp::10022-:22 \
>> -device virtio-net-pci,netdev=guest0 \
>> -qmp tcp:127.0.0.1:12345,server,nowait \
>> -monitor telnet:127.0.0.1:55555,server,nowait \
>> -nographic -nodefaults -serial stdio
>>
>> I also tried the 'cpu kvm64' in my side, and there is not any issue.
>
> This is the same one as the one I was chatting to Claudio Fontana about
> in the thread 'Windows fails to boot after rebase to QEMU master',
> it's the commit 'i386: split cpu accelerators from cpu.c, using
> AccelCPUClass'
Hi, version 2 of my proposed changes to fix this are at:
https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg00758.html
Claudio