[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/12] oslib-posix: fix memory leak in touch_all_pages
From: |
Paolo Bonzini |
Subject: |
[PULL 06/12] oslib-posix: fix memory leak in touch_all_pages |
Date: |
Fri, 8 Mar 2024 15:55:48 +0100 |
touch_all_pages() can return early, before creating threads. In this case,
however, it leaks the MemsetContext that it has allocated at the
beginning of the function.
Reported by Coverity as CID 1534922.
Fixes: 04accf43df8 ("oslib-posix: initialize backend memory objects in
parallel", 2024-02-06)
Reviewed-by: Mark Kanda <mark.kanda@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
util/oslib-posix.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index 3c379f96c26..e76441695bd 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -467,11 +467,13 @@ static int touch_all_pages(char *area, size_t hpagesize,
size_t numpages,
* preallocating synchronously.
*/
if (context->num_threads == 1 && !async) {
+ ret = 0;
if (qemu_madvise(area, hpagesize * numpages,
QEMU_MADV_POPULATE_WRITE)) {
- return -errno;
+ ret = -errno;
}
- return 0;
+ g_free(context);
+ return ret;
}
touch_fn = do_madv_populate_write_pages;
} else {
--
2.43.2
- [PULL 00/12] Misc fixes, i386 TSTEQ/TSTNE, coverity CI for 2024-03-08, Paolo Bonzini, 2024/03/08
- [PULL 02/12] system/qdev-monitor: move drain_call_rcu call under if (!dev) in qmp_device_add(), Paolo Bonzini, 2024/03/08
- [PULL 01/12] hw/scsi/lsi53c895a: add timer to scripts processing, Paolo Bonzini, 2024/03/08
- [PULL 03/12] meson: Remove --warn-common ldflag, Paolo Bonzini, 2024/03/08
- [PULL 04/12] hw/scsi/lsi53c895a: stop script on phase mismatch, Paolo Bonzini, 2024/03/08
- [PULL 07/12] mips: do not list individual devices from configs/, Paolo Bonzini, 2024/03/08
- [PULL 05/12] hw/intc/apic: fix memory leak, Paolo Bonzini, 2024/03/08
- [PULL 06/12] oslib-posix: fix memory leak in touch_all_pages,
Paolo Bonzini <=
- [PULL 09/12] target/i386: use TSTEQ/TSTNE to check flags, Paolo Bonzini, 2024/03/08
- [PULL 08/12] target/i386: use TSTEQ/TSTNE to test low bits, Paolo Bonzini, 2024/03/08
- [PULL 11/12] run-coverity-scan: add --check-upload-only option, Paolo Bonzini, 2024/03/08
- [PULL 10/12] target/i386: remove mask from CCPrepare, Paolo Bonzini, 2024/03/08
- [PULL 12/12] gitlab-ci: add manual job to run Coverity, Paolo Bonzini, 2024/03/08
- Re: [PULL 00/12] Misc fixes, i386 TSTEQ/TSTNE, coverity CI for 2024-03-08, Peter Maydell, 2024/03/08