[PATCH] kvm:powerpc:Fix error handling in the function mpic_set_default_irq_routing

Subsystems: kernel virtual machine for powerpc (kvm/powerpc), linux for powerpc (32-bit and 64-bit), the rest

STALE4015d

3 messages, 2 authors, 2015-08-07 · open the first message on its own page

[PATCH] kvm:powerpc:Fix error handling in the function mpic_set_default_irq_routing

From: Nicholas Krause <hidden>
Date: 2015-08-07 13:47:15

This fixes error handling in the function mpic_set_default_irq_routing
by checking if the call to the function kvm_set_irq_routing has failed
and if so exit immediately to the caller by first freeing the structure
pointer routing in order to avoid a memory leak before returning the error
code returned by the call to mpic_set_default_irq_routing.

Signed-off-by: Nicholas Krause <redacted>
---
 arch/powerpc/kvm/mpic.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index 6249cdc..7b1375a 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -1641,13 +1641,18 @@ static void mpic_destroy(struct kvm_device *dev)
 static int mpic_set_default_irq_routing(struct openpic *opp)
 {
 	struct kvm_irq_routing_entry *routing;
+	int ret;
 
 	/* Create a nop default map, so that dereferencing it still works */
 	routing = kzalloc((sizeof(*routing)), GFP_KERNEL);
 	if (!routing)
 		return -ENOMEM;
 
-	kvm_set_irq_routing(opp->kvm, routing, 0, 0);
+	ret = kvm_set_irq_routing(opp->kvm, routing, 0, 0);
+	if (ret) {
+		kfree(routing);
+		return ret;
+	}
 
 	kfree(routing);
 	return 0;
-- 
2.1.4

Re: [PATCH] kvm:powerpc:Fix error handling in the function mpic_set_default_irq_routing

From: Paolo Bonzini <pbonzini@redhat.com>
Date: 2015-08-07 13:59:38


On 07/08/2015 15:47, Nicholas Krause wrote:
-	kvm_set_irq_routing(opp->kvm, routing, 0, 0);
+	ret = kvm_set_irq_routing(opp->kvm, routing, 0, 0);
+	if (ret) {
+		kfree(routing);
+		return ret;
+	}
 
 	kfree(routing);
 	return 0;
You could just return ret here.  The new "if" is not necessary.

Paolo

Re: [PATCH] kvm:powerpc:Fix error handling in the function mpic_set_default_irq_routing

From: nick <hidden>
Date: 2015-08-07 14:00:58


On 2015-08-07 09:59 AM, Paolo Bonzini wrote:

On 07/08/2015 15:47, Nicholas Krause wrote:
quoted
-	kvm_set_irq_routing(opp->kvm, routing, 0, 0);
+	ret = kvm_set_irq_routing(opp->kvm, routing, 0, 0);
+	if (ret) {
+		kfree(routing);
+		return ret;
+	}
 
 	kfree(routing);
 	return 0;
You could just return ret here.  The new "if" is not necessary.

Paolo
Ok sure that seems fine to be and much simpler then this.
Sorry about the wasting your time with this patch.
Nick 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help