diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2014-09-22 13:17:48 +0200 |
|---|---|---|
| committer | Luis Henriques <luis.henriques@canonical.com> | 2014-12-01 10:02:08 +0000 |
| commit | e8af13a8692cd9b52b1b148b3b6b79828bca1208 (patch) | |
| tree | a8d850b93ffccb4d122e02ba3ab4a17ab8b63606 /include | |
| parent | 8614d8600cce7ffd8908f8c062ee4c7cf5146add (diff) | |
x86: kvm: use alternatives for VMCALL vs. VMMCALL if kernel text is read-only
commit c1118b3602c2329671ad5ec8bdf8e374323d6343 upstream.
On x86_64, kernel text mappings are mapped read-only with CONFIG_DEBUG_RODATA.
In that case, KVM will fail to patch VMCALL instructions to VMMCALL
as required on AMD processors.
The failure mode is currently a divide-by-zero exception, which obviously
is a KVM bug that has to be fixed. However, picking the right instruction
between VMCALL and VMMCALL will be faster and will help if you cannot upgrade
the hypervisor.
Reported-by: Chris Webb <chris@arachsys.com>
Tested-by: Chris Webb <chris@arachsys.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Acked-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: Chris J Arges <chris.j.arges@canonical.com>
[ luis: used Chris backport to 3.16 ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
