From 09d98b69804cfd9eccadb97951e8df64ada3bc7a Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Thu, 19 Jul 2018 15:02:00 +0200 Subject: [PATCH] target/xtensa/cpu: Set owner of memory region in xtensa_cpu_initfn The instance_init function of the xtensa CPUs creates a memory region, but does not set an owner, so the memory region is not destroyed correctly when the CPU object is removed. This can happen when introspecting the CPU devices, so introspecting the CPU device will leave a dangling memory region object in the QOM tree. Make sure to set the right owner here to fix this issue. Signed-off-by: Thomas Huth Acked-by: Max Filippov Message-id: 1532005320-17794-1-git-send-email-thuth@redhat.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/xtensa/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/xtensa/cpu.c b/target/xtensa/cpu.c index b50c840e09..590813d4f7 100644 --- a/target/xtensa/cpu.c +++ b/target/xtensa/cpu.c @@ -149,7 +149,7 @@ static void xtensa_cpu_initfn(Object *obj) #ifndef CONFIG_USER_ONLY env->address_space_er = g_malloc(sizeof(*env->address_space_er)); env->system_er = g_malloc(sizeof(*env->system_er)); - memory_region_init_io(env->system_er, NULL, NULL, env, "er", + memory_region_init_io(env->system_er, obj, NULL, env, "er", UINT64_C(0x100000000)); address_space_init(env->address_space_er, env->system_er, "ER"); #endif