sim-se: Fix invalid delete of params on clone
The params pointer is kept by the SimObject and should not be deleted until gem5 exits. Added a to do to remember this object is leaked. Change-Id: I46cc23a09e4e9b6bc2fdcd961148324c41820815 Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18068 Tested-by: kokoro <noreply+kokoro@google.com> Maintainer: Brandon Potter <Brandon.Potter@amd.com> Reviewed-by: Brandon Potter <Brandon.Potter@amd.com>
This commit is contained in:
committed by
Brandon Potter
parent
d9fee95b71
commit
aa3b372a95
@@ -1562,7 +1562,9 @@ cloneFunc(SyscallDesc *desc, int callnum, ThreadContext *tc)
|
||||
pp->useArchPT = p->useArchPT;
|
||||
pp->kvmInSE = p->kvmInSE;
|
||||
Process *cp = pp->create();
|
||||
delete pp;
|
||||
// TODO: there is no way to know when the Process SimObject is done with
|
||||
// the params pointer. Both the params pointer (pp) and the process
|
||||
// pointer (cp) are normally managed in python and are never cleaned up.
|
||||
|
||||
Process *owner = ctc->getProcessPtr();
|
||||
ctc->setProcessPtr(cp);
|
||||
|
||||
Reference in New Issue
Block a user