public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kvm tools:Fix memory leakage in open all disks
@ 2024-06-18  7:52 leixiang
  2024-07-09 10:12 ` Alexandru Elisei
       [not found] ` <1720577870543075.69.seg@mailgw.kylinos.cn>
  0 siblings, 2 replies; 10+ messages in thread
From: leixiang @ 2024-06-18  7:52 UTC (permalink / raw)
  To: kvm; +Cc: xieming, leixiang

Fix memory leakage in disk/core disk_image__open_all when malloc disk failed,
should free the disks that already malloced.

Signed-off-by: Lei Xiang <leixiang@kylinos.cn>
Suggested-by: Xie Ming <xieming@kylinos.cn>
---
 disk/core.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/disk/core.c b/disk/core.c
index dd2f258..affeece 100644
--- a/disk/core.c
+++ b/disk/core.c
@@ -195,8 +195,10 @@ static struct disk_image **disk_image__open_all(struct kvm *kvm)
 
 		if (wwpn) {
 			disks[i] = malloc(sizeof(struct disk_image));
-			if (!disks[i])
-				return ERR_PTR(-ENOMEM);
+			if (!disks[i]) {
+				err = ERR_PTR(-ENOMEM);
+				goto error;
+			}
 			disks[i]->wwpn = wwpn;
 			disks[i]->tpgt = tpgt;
 			continue;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* Re: [PATCH] kvm tools:Fix memory leakage in open all disks
@ 2024-08-07  6:18 雷翔
  0 siblings, 0 replies; 10+ messages in thread
From: 雷翔 @ 2024-08-07  6:18 UTC (permalink / raw)
  To: Alexandru Elisei, Will Deacon; +Cc: julien.thierry.kdev, kvm, 谢明

[-- Attachment #1: Type: text/html, Size: 3802 bytes --]

[-- Attachment #2: v4-0001-kvmtool-disk-core-Fix-memory-leakage-in-open-all-.patch --]
[-- Type: application/octet-stream, Size: 1479 bytes --]

From f9ebbe412cffafbf06c738336ee45942d7c1977f Mon Sep 17 00:00:00 2001
From: leixiang <leixiang@kylinos.cn>
Date: Wed, 10 Jul 2024 17:45:51 +0800
Subject: [PATCH v4] kvmtool:disk/core:Fix memory leakage in open all disks

Fix memory leakage in disk/core disk_image__open_all when malloc disk failed,
should free the disks that already malloced.

Signed-off-by: Lei Xiang <leixiang@kylinos.cn>
Suggested-by: Xie Ming <xieming@kylinos.cn>
Suggested-by: Alexandru Elisei <alexandru.elisei@arm.com>
Suggested-by: Will Deacon <will@kernel.org>
---
 disk/core.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/disk/core.c b/disk/core.c
index b00b0c0..91db277 100644
--- a/disk/core.c
+++ b/disk/core.c
@@ -171,8 +171,10 @@ static struct disk_image **disk_image__open_all(struct kvm *kvm)
 
 		if (wwpn) {
 			disks[i] = malloc(sizeof(struct disk_image));
-			if (!disks[i])
-				return ERR_PTR(-ENOMEM);
+			if (!disks[i]) {
+				err = ERR_PTR(-ENOMEM);
+				goto error;
+			}
 			disks[i]->wwpn = wwpn;
 			continue;
 		}
@@ -191,10 +193,15 @@ static struct disk_image **disk_image__open_all(struct kvm *kvm)
 
 	return disks;
 error:
-	for (i = 0; i < count; i++)
-		if (!IS_ERR_OR_NULL(disks[i]))
-			disk_image__close(disks[i]);
+	for (i = 0; i < count; i++) {
+		if (IS_ERR_OR_NULL(disks[i]))
+			continue;
 
+		if (disks[i]->wwpn)
+			free(disks[i]);
+		else
+			disk_image__close(disks[i]);
+	}
 	free(disks);
 	return err;
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-08-08  7:07 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-18  7:52 [PATCH] kvm tools:Fix memory leakage in open all disks leixiang
2024-07-09 10:12 ` Alexandru Elisei
     [not found] ` <1720577870543075.69.seg@mailgw.kylinos.cn>
2024-07-10  8:12   ` leixiang
2024-07-10  8:27     ` Alexandru Elisei
2024-07-10 10:00       ` leixiang
2024-07-10 10:03         ` Alexandru Elisei
2024-08-05 12:27         ` Will Deacon
2024-08-06 12:48           ` Alexandru Elisei
2024-08-08  7:07             ` leixiang
  -- strict thread matches above, loose matches on Subject: below --
2024-08-07  6:18 雷翔

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox