From a06563ecdd94978e3c0075206b88612c65ee23c1 Mon Sep 17 00:00:00 2001 From: lazymio Date: Fri, 31 Dec 2021 00:24:18 +0100 Subject: [PATCH] Fix memory leak --- qemu/target/s390x/cpu.c | 2 +- qemu/target/s390x/cpu_models.c | 1 + qemu/target/s390x/unicorn.c | 9 ++------- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/qemu/target/s390x/cpu.c b/qemu/target/s390x/cpu.c index 576f8fc9..95a45d87 100644 --- a/qemu/target/s390x/cpu.c +++ b/qemu/target/s390x/cpu.c @@ -294,7 +294,7 @@ S390CPU *cpu_s390_init(struct uc_struct *uc, const char *cpu_model) // init addresss space cpu_address_space_init(cs, 0, cs->memory); - qemu_init_vcpu(cs); + //qemu_init_vcpu(cs); return cpu; } diff --git a/qemu/target/s390x/cpu_models.c b/qemu/target/s390x/cpu_models.c index 37192fe0..b64f48b9 100644 --- a/qemu/target/s390x/cpu_models.c +++ b/qemu/target/s390x/cpu_models.c @@ -414,6 +414,7 @@ void s390_cpu_model_finalize(CPUState *obj) S390CPU *cpu = S390_CPU(obj); g_free(cpu->model); + g_free(cpu->ss.keydata); cpu->model = NULL; } diff --git a/qemu/target/s390x/unicorn.c b/qemu/target/s390x/unicorn.c index 9a718043..b53a1e07 100644 --- a/qemu/target/s390x/unicorn.c +++ b/qemu/target/s390x/unicorn.c @@ -16,10 +16,10 @@ static void s390_set_pc(struct uc_struct *uc, uint64_t address) static void s390_release(void *ctx) { -#if 0 + int i; TCGContext *tcg_ctx = (TCGContext *)ctx; - S390XCPU *cpu = (S390XCPU *)tcg_ctx->uc->cpu; + S390CPU *cpu = (S390CPU *)tcg_ctx->uc->cpu; CPUTLBDesc *d = cpu->neg.tlb.d; CPUTLBDescFast *f = cpu->neg.tlb.f; CPUTLBDesc *desc; @@ -32,11 +32,6 @@ static void s390_release(void *ctx) g_free(desc->iotlb); g_free(fast->table); } -#endif - TCGContext *tcg_ctx = (TCGContext *)ctx; - S390CPU *cpu = (S390CPU *)tcg_ctx->uc->cpu; - - release_common(ctx); s390_cpu_model_finalize((CPUState *)cpu); // TODO: Anymore to free?