On 28/3/25 10:49, Zheng Huang wrote:
Hi,

This patch fixes a memory leak bug in `sdhci_pci_realize()`. `s->irq` is
not freed in `sdhci_pci_exit()`.

Signed-off-by: Zheng Huang <[email protected]>

---
  hw/sd/sdhci-pci.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/hw/sd/sdhci-pci.c b/hw/sd/sdhci-pci.c
index 5268c0dee5..f5296d58ca 100644
--- a/hw/sd/sdhci-pci.c
+++ b/hw/sd/sdhci-pci.c
@@ -18,6 +18,7 @@
  #include "qemu/osdep.h"
  #include "qapi/error.h"
  #include "qemu/module.h"
+#include "hw/irq.h"
  #include "hw/qdev-properties.h"
  #include "hw/sd/sdhci.h"
  #include "sdhci-internal.h"
@@ -50,6 +51,7 @@ static void sdhci_pci_exit(PCIDevice *dev)

Better move the call here, do release in opposite order of alloc.

      sdhci_common_unrealize(s);
      sdhci_uninitfn(s);
+    qemu_free_irq(s->irq);
  }

Regardless:
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>


Reply via email to