git: aa4086951b4a - main - arm64/vmm: vgic_v3: Fix missing free of vgic_cpu->private_irqs

From: Andrew Turner <andrew_at_FreeBSD.org>
Date: Fri, 09 Oct 2026 12:07:58 UTC
The branch main has been updated by andrew:

URL: https://cgit.FreeBSD.org/src/commit/?id=aa4086951b4a26386bcdcd0693520e7d35be425e

commit aa4086951b4a26386bcdcd0693520e7d35be425e
Author:     Kajetan Puchalski <kajetan.puchalski@arm.com>
AuthorDate: 2026-09-18 15:34:18 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2026-10-09 11:55:17 +0000

    arm64/vmm: vgic_v3: Fix missing free of vgic_cpu->private_irqs
    
    vgic_cpu->private_irqs is allocated but never freed, as a result leaking
    memory whenever the vmm module is unloaded. Add the missing free.
    
    Signed-off-by: Kajetan Puchalski <kajetan.puchalski@arm.com>
    Reviewed by:    andrew
    Sponsored by:   Arm Ltd
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/2439
---
 sys/arm64/vmm/io/vgic_v3.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/arm64/vmm/io/vgic_v3.c b/sys/arm64/vmm/io/vgic_v3.c
index 447026fdcf60..517bf6290f89 100644
--- a/sys/arm64/vmm/io/vgic_v3.c
+++ b/sys/arm64/vmm/io/vgic_v3.c
@@ -461,6 +461,7 @@ vgic_v3_cpucleanup(device_t dev, struct hypctx *hypctx)
 	}
 
 	mtx_destroy(&vgic_cpu->lr_mtx);
+	free(hypctx->vgic_cpu->private_irqs, M_VGIC_V3);
 	free(hypctx->vgic_cpu, M_VGIC_V3);
 }