Blame test/integration/rhel-7.4/module-shadow.patch
|
Packit Service |
da4517 |
diff -Nupr src.orig/arch/x86/kvm/vmx.c src/arch/x86/kvm/vmx.c
|
|
Packit Service |
da4517 |
--- src.orig/arch/x86/kvm/vmx.c 2017-09-22 15:27:20.853052676 -0400
|
|
Packit Service |
da4517 |
+++ src/arch/x86/kvm/vmx.c 2017-09-22 15:27:44.742151601 -0400
|
|
Packit Service |
da4517 |
@@ -10581,10 +10581,20 @@ static void vmx_leave_nested(struct kvm_
|
|
Packit Service |
da4517 |
* It should only be called before L2 actually succeeded to run, and when
|
|
Packit Service |
da4517 |
* vmcs01 is current (it doesn't leave_guest_mode() or switch vmcss).
|
|
Packit Service |
da4517 |
*/
|
|
Packit Service |
da4517 |
+#include "kpatch.h"
|
|
Packit Service |
da4517 |
static void nested_vmx_entry_failure(struct kvm_vcpu *vcpu,
|
|
Packit Service |
da4517 |
struct vmcs12 *vmcs12,
|
|
Packit Service |
da4517 |
u32 reason, unsigned long qualification)
|
|
Packit Service |
da4517 |
{
|
|
Packit Service |
da4517 |
+ int *kpatch;
|
|
Packit Service |
da4517 |
+
|
|
Packit Service |
da4517 |
+ kpatch = kpatch_shadow_alloc(vcpu, "kpatch", sizeof(*kpatch),
|
|
Packit Service |
da4517 |
+ GFP_KERNEL);
|
|
Packit Service |
da4517 |
+ if (kpatch) {
|
|
Packit Service |
da4517 |
+ kpatch_shadow_get(vcpu, "kpatch");
|
|
Packit Service |
da4517 |
+ kpatch_shadow_free(vcpu, "kpatch");
|
|
Packit Service |
da4517 |
+ }
|
|
Packit Service |
da4517 |
+
|
|
Packit Service |
da4517 |
load_vmcs12_host_state(vcpu, vmcs12);
|
|
Packit Service |
da4517 |
vmcs12->vm_exit_reason = reason | VMX_EXIT_REASONS_FAILED_VMENTRY;
|
|
Packit Service |
da4517 |
vmcs12->exit_qualification = qualification;
|