[PATCH 3.8 001/124] KVM: s390: kvm/sigp.c: fix memory leakage

Kamal Mostafa kamal at canonical.com
Mon Feb 10 19:39:01 UTC 2014


3.8.13.18 -stable review patch.  If anyone has any objections, please let me know.

------------------

From: Cong Ding <dinggnu at gmail.com>

commit a046b816a4587c7898772af7cc7e6798cc8b56dd upstream.

the variable inti should be freed in the branch CPUSTAT_STOPPED.

Signed-off-by: Cong Ding <dinggnu at gmail.com>
Signed-off-by: Cornelia Huck <cornelia.huck at de.ibm.com>
Signed-off-by: Gleb Natapov <gleb at redhat.com>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
 arch/s390/kvm/sigp.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/s390/kvm/sigp.c b/arch/s390/kvm/sigp.c
index 566ddf6..1278873 100644
--- a/arch/s390/kvm/sigp.c
+++ b/arch/s390/kvm/sigp.c
@@ -137,8 +137,10 @@ static int __inject_sigp_stop(struct kvm_s390_local_interrupt *li, int action)
 	inti->type = KVM_S390_SIGP_STOP;
 
 	spin_lock_bh(&li->lock);
-	if ((atomic_read(li->cpuflags) & CPUSTAT_STOPPED))
+	if ((atomic_read(li->cpuflags) & CPUSTAT_STOPPED)) {
+		kfree(inti);
 		goto out;
+	}
 	list_add_tail(&inti->list, &li->list);
 	atomic_set(&li->active, 1);
 	atomic_set_mask(CPUSTAT_STOP_INT, li->cpuflags);
-- 
1.8.3.2





More information about the kernel-team mailing list