Thread (4 messages) 4 messages, 2 authors, 2014-11-30

[PATCH v2] virt: kvm: arm: vgic: Process the failure case when kvm_register_device_ops() fails

From: Chen Gang <hidden>
Date: 2014-11-14 16:30:25
Also in: kvm, lkml

According to your taste, we need improve 2 contents below:

On 11/14/2014 11:55 PM, Marc Zyngier wrote:
quoted hunk ↗ jump to hunk
No. This is completely overdesigned, and fixes something that really
cannot happen. What is wrong with:
diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c
index 3aaca49..b7dffa80 100644
--- a/virt/kvm/arm/vgic.c
+++ b/virt/kvm/arm/vgic.c
@@ -2465,13 +2465,17 @@ int kvm_vgic_hyp_init(void)
 		goto out_free_irq;
 	}
 
+	ret = kvm_register_device_ops(&kvm_arm_vgic_v2_ops,
+				       KVM_DEV_TYPE_ARM_VGIC_V2);
+	if (ret)
+		goto out_free_irq;
+
Need call __unregister_cpu_notifier(), since __register_cpu_notifier()
is already successfully called.

Need print some information for failure via kvm_err().

Thanks.
 	/* Callback into for arch code for setup */
 	vgic_arch_setup(vgic);
 
 	on_each_cpu(vgic_init_maintenance_interrupt, NULL, 1);
 
-	return kvm_register_device_ops(&kvm_arm_vgic_v2_ops,
-				       KVM_DEV_TYPE_ARM_VGIC_V2);
+	return 0;
 
 out_free_irq:
 	free_percpu_irq(vgic->maint_irq, kvm_get_running_vcpus());

This achieves the exact same effect.

Thanks,

	M.

-- 
Chen Gang

Open share and attitude like air water and life which God blessed
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help