qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v5 04/19] hw/intc/loongson_ipi: Extract loongson_ipi_common_f


From: gaosong
Subject: Re: [PATCH v5 04/19] hw/intc/loongson_ipi: Extract loongson_ipi_common_finalize()
Date: Tue, 23 Jul 2024 18:00:23 +0800
User-agent: Mozilla/5.0 (X11; Linux loongarch64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0

在 2024/7/23 下午4:41, Philippe Mathieu-Daudé 写道:
On 18/7/24 15:32, Philippe Mathieu-Daudé wrote:
From: Bibo Mao <maobibo@loongson.cn>

In preparation to extract common IPI code in few commits,
extract loongson_ipi_common_finalize().

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
[PMD: Extracted from bigger commit, added commit description]
Co-Developed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Tested-by: Bibo Mao <maobibo@loongson.cn>
Acked-by: Song Gao <gaosong@loongson.cn>
---
  hw/intc/loongson_ipi.c | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/hw/intc/loongson_ipi.c b/hw/intc/loongson_ipi.c
index d870af39c1..960d1e604f 100644
--- a/hw/intc/loongson_ipi.c
+++ b/hw/intc/loongson_ipi.c
@@ -357,13 +357,18 @@ static void loongson_ipi_class_init(ObjectClass *klass, void *data)
      dc->vmsd = &vmstate_loongson_ipi;
  }
  -static void loongson_ipi_finalize(Object *obj)
+static void loongson_ipi_common_finalize(Object *obj)
  {
      LoongsonIPIState *s = LOONGSON_IPI(obj);
        g_free(s->cpu);

Unfortunately the current code is bogus, @cpu is allocated in
loongson_ipi_realize(), a DeviceRealize handler, so must be
de-allocated in a DeviceUnrealize equivalent. Not at the instance
finalize cleanup which is too late because we could leak after
UNREALIZE -> REALIZE sequences.

Yes,  we should use  DeviecUnrealize to free s->cpu.

I will send a patch to correct it.

Thanks.
Song Gao
  }
  +static void loongson_ipi_finalize(Object *obj)
+{
+    loongson_ipi_common_finalize(obj);
+}
+
  static const TypeInfo loongson_ipi_types[] = {
      {
          .name               = TYPE_LOONGSON_IPI,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]