KVM: x86: work around leak of uninitialized stack contents
authorFuqian Huang <huangfq.daxian@gmail.com>
Thu, 12 Sep 2019 04:18:17 +0000 (12:18 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 14 Sep 2019 07:25:11 +0000 (09:25 +0200)
commit541ab2aeb28251bf7135c7961f3a6080eebcc705
tree98b9ca06198ed91ff5f188d7b4c94c00de82c254
parentf7eea636c3d505fe6f1d1066234f1aaf7171b681
KVM: x86: work around leak of uninitialized stack contents

Emulation of VMPTRST can incorrectly inject a page fault
when passed an operand that points to an MMIO address.
The page fault will use uninitialized kernel stack memory
as the CR2 and error code.

The right behavior would be to abort the VM with a KVM_EXIT_INTERNAL_ERROR
exit to userspace; however, it is not an easy fix, so for now just ensure
that the error code and CR2 are zero.

Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com>
Cc: stable@vger.kernel.org
[add comment]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c