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 <hz1624917200@gmail.com>
>
> ---
> 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é <philmd@linaro.org>