Remove the architecture-specific #ifdef ladder setting ser->type in
kvm_luo_preserve(). Leaving ser->type zero by default allows
kvm_arch_vm_luo_preserve() to populate the architecture-defined VM
creation flags without referencing unexported architecture symbols in
generic KVM code.

Signed-off-by: Pasha Tatashin <[email protected]>
---
 virt/kvm/kvm_luo.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/virt/kvm/kvm_luo.c b/virt/kvm/kvm_luo.c
index 025b53151b6a..b3bd9bebe17a 100644
--- a/virt/kvm/kvm_luo.c
+++ b/virt/kvm/kvm_luo.c
@@ -73,16 +73,13 @@ static int kvm_luo_preserve(struct liveupdate_file_op_args 
*args)
        if (IS_ERR(ser))
                return PTR_ERR(ser);
 
-#if defined(CONFIG_X86)
-       ser->type = kvm->arch.vm_type;
-#elif defined(CONFIG_ARM64)
-       ser->type = kvm_phys_shift(&kvm->arch.mmu);
-       if (kvm_vm_is_protected(kvm))
-               ser->type |= KVM_VM_TYPE_ARM_PROTECTED;
-
-#else
+       /*
+        * @type is the argument the new kernel will pass to KVM_CREATE_VM, and
+        * only the architecture knows how to spell it.  
kvm_arch_vm_luo_preserve()
+        * fills it in; leaving it zero here is the right answer for an
+        * architecture that does not implement the hook.
+        */
        ser->type = 0;
-#endif
 
        args->serialized_data = virt_to_phys(ser);
        return 0;
@@ -115,7 +112,6 @@ static int kvm_luo_retrieve(struct liveupdate_file_op_args 
*args)
        kvm = file->private_data;
 
        args->file = file;
-       kho_restore_free(ser);
 
        kvm_uevent_notify_vm_create(kvm);
        return 0;
@@ -147,11 +143,7 @@ static void kvm_luo_finish(struct liveupdate_file_op_args 
*args)
 {
        struct kvm_luo_ser *ser;
 
-       /*
-        * If retrieve_status is true or set to error, nothing to do here.
-        * Already cleaned up in kvm_luo_retrieve().
-        */
-       if (args->retrieve_status)
+       if (args->retrieve_status < 0)
                return;
 
        if (!args->serialized_data)
-- 
2.55.0.1082.g2b9226bbc0-goog


Reply via email to