diff mbox series

linux-user: fix memory leak when threads exit

Message ID 20220528115044.30813-1-kkhaike@gmail.com
State New
Headers show
Series linux-user: fix memory leak when threads exit | expand

Commit Message

kkhaike@gmail.com May 28, 2022, 11:50 a.m. UTC
From: kkHAIKE <kkhaike@gmail.com>

when call do_fork->cpu_copy->cpu_create, the return new cpu was not parent so refby '/unattached', so need add more object_unparent call to unref.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/866
Signed-off-by: kkHAIKE <kkhaike@gmail.com>
---
 linux-user/syscall.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f55cdebee5..c653897d32 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8567,6 +8567,7 @@  static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
             TaskState *ts = cpu->opaque;
 
             object_property_set_bool(OBJECT(cpu), "realized", false, NULL);
+            object_unparent(OBJECT(cpu));
             object_unref(OBJECT(cpu));
             /*
              * At this point the CPU should be unrealized and removed