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;