kvm: vmx: fix oops with explicit flexpriority=0 option
A function pointer was not NULLed, causing kvm_vcpu_reload_apic_access_page to go down the wrong path and OOPS when doing put_page(NULL). This did not happen on old processors, only when setting the module option explicitly. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Родитель
8a395363e2
Коммит
ad15a29647
|
@ -5879,16 +5879,16 @@ static __init int hardware_setup(void)
|
|||
if (!cpu_has_vmx_unrestricted_guest())
|
||||
enable_unrestricted_guest = 0;
|
||||
|
||||
if (!cpu_has_vmx_flexpriority()) {
|
||||
if (!cpu_has_vmx_flexpriority())
|
||||
flexpriority_enabled = 0;
|
||||
|
||||
/*
|
||||
* set_apic_access_page_addr() is used to reload apic access
|
||||
* page upon invalidation. No need to do anything if the
|
||||
* processor does not have the APIC_ACCESS_ADDR VMCS field.
|
||||
*/
|
||||
/*
|
||||
* set_apic_access_page_addr() is used to reload apic access
|
||||
* page upon invalidation. No need to do anything if not
|
||||
* using the APIC_ACCESS_ADDR VMCS field.
|
||||
*/
|
||||
if (!flexpriority_enabled)
|
||||
kvm_x86_ops->set_apic_access_page_addr = NULL;
|
||||
}
|
||||
|
||||
if (!cpu_has_vmx_tpr_shadow())
|
||||
kvm_x86_ops->update_cr8_intercept = NULL;
|
||||
|
|
Загрузка…
Ссылка в новой задаче