Paolo Bonzini pbonzini@redhat.com 于2019年7月29日周一 上午11:10写道:
On 29/07/19 10:58, Jack Wang wrote:
Vitaly Kuznetsov vkuznets@redhat.com 于2019年7月25日周四 下午3:29写道:
From: Paolo Bonzini pbonzini@redhat.com
[ Upstream commit 88dddc11a8d6b09201b4db9d255b3394d9bc9e57 ]
If a KVM guest is reset while running a nested guest, free_nested will disable the shadow VMCS execution control in the vmcs01. However, on the next KVM_RUN vmx_vcpu_run would nevertheless try to sync the VMCS12 to the shadow VMCS which has since been freed.
This causes a vmptrld of a NULL pointer on my machime, but Jan reports the host to hang altogether. Let's see how much this trivial patch fixes.
Reported-by: Jan Kiszka jan.kiszka@siemens.com Cc: Liran Alon liran.alon@oracle.com Cc: stable@vger.kernel.org Signed-off-by: Paolo Bonzini pbonzini@redhat.com
Hi all,
Do we need to backport the fix also to stable 4.14? It applies cleanly and compiles fine.
The reproducer required newer kernels that support KVM_GET_NESTED_STATE and KVM_SET_NESTED_STATE, so it would be hard to test it. However, the patch itself should be safe.
Paolo
Thanks Paolo for confirmation. I'm asking because we had one incident in our production with 4.14.129 kernel, System is Skylake Gold cpu, first kvm errors, host hung afterwards
kernel: [1186161.091160] kvm: vmptrld (null)/6bfc00000000 failed kernel: [1186161.091537] kvm: vmclear fail: (null)/6bfc00000000 kernel: [1186186.490300] watchdog: BUG: soft lockup - CPU#54 stuck for 23s! [qemu:16639]
Hi Sasha, hi Greg,
Would be great if you can pick this patch also to 4.14 kernel.
Best regards, Jack Wang