Messages in this thread Patch in this message | | | Date | Tue, 28 Sep 2010 20:57:19 +0200 (CEST) | From | Thomas Gleixner <> | Subject | [PATCH] x86: Plug memory leak in sparse irq |
| |
free_irq_cfg() is not freeing the cpumask_vars in irq_cfg.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: stable@kernel.org --- arch/x86/kernel/apic/io_apic.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Index: linux-2.6/arch/x86/kernel/apic/io_apic.c =================================================================== --- linux-2.6.orig/arch/x86/kernel/apic/io_apic.c +++ linux-2.6/arch/x86/kernel/apic/io_apic.c @@ -311,9 +311,11 @@ void arch_init_copy_chip_data(struct irq init_copy_irq_2_pin(old_cfg, cfg, node); } -static void free_irq_cfg(struct irq_cfg *old_cfg) +static void free_irq_cfg(struct irq_cfg *cfg) { - kfree(old_cfg); + free_cpumask_var(cfg->domain); + free_cpumask_var(cfg->old_domain); + kfree(cfg); } void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc)
| |