Luming Wang has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/56609 )
Change subject: arch-riscv: fix memory leak problem in page table walker
......................................................................
arch-riscv: fix memory leak problem in page table walker
Valgrind detects memory leak problems in RISC-V's page table
walker(`Walker::WalkerState::stepWalk()`). In some situation,
the response packet is not freed. This patch partially fix
these memory leak problems.
Change-Id: I86d4c69c3c502bd92856a3d8863bfa1722a94512
---
M src/arch/riscv/pagetable_walker.cc
1 file changed, 20 insertions(+), 0 deletions(-)
diff --git a/src/arch/riscv/pagetable_walker.cc
b/src/arch/riscv/pagetable_walker.cc
index 81d1eb2..43adf78 100644
--- a/src/arch/riscv/pagetable_walker.cc
+++ b/src/arch/riscv/pagetable_walker.cc
@@ -426,6 +426,10 @@
//If we didn't return, we're setting up another read.
RequestPtr request = std::make_shared<Request>(
nextRead, oldRead->getSize(), flags, walker->requestorId);
+
+ delete oldRead;
+ oldRead = NULL;
+
read = new Packet(request, MemCmd::ReadReq);
read->allocate();
@@ -501,6 +505,8 @@
}
sendPackets();
} else {
+ delete pkt;
+
sendPackets();
}
if (inflight == 0 && read == NULL && writes.size() == 0) {
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/56609
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I86d4c69c3c502bd92856a3d8863bfa1722a94512
Gerrit-Change-Number: 56609
Gerrit-PatchSet: 1
Gerrit-Owner: Luming Wang <wlm199...@126.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s