[PATCH] fix kmemleak complaining about memory leaks when offlining/onlining vCPUS (v1).

From: Konrad Rzeszutek Wilk
Date: Wed Jun 05 2013 - 11:56:56 EST

When I fixed the online/offline vCPU mechanism to work again under
PVHVM guests, I saw this:

[ 665.026885] kmemleak: 7 new suspected memory leaks (see /sys/kernel/debug/kmemleak)

but due to not having enough time did not fix it. This patchset
fixes it by stashing the 'char *' of said interrupts line during their
creation. When they are torn down when a VCPU is offline we use said
per-cpu pointer to free it.

As part of it I also added some error checking and some default values.
Please look.

arch/x86/xen/smp.c | 91 ++++++++++++++++++++++++++++++++-----------------
arch/x86/xen/spinlock.c | 5 +++
arch/x86/xen/time.c | 41 +++++++++++++++-------
3 files changed, 92 insertions(+), 45 deletions(-)

Konrad Rzeszutek Wilk (9):
xen/smp: Coalesce the free_irq calls in one function.
xen/smp: Introduce a common structure to contain the IRQ name and interrupt line.
xen/smp: Set the per-cpu IRQ number to a valid default.
xen/smp: Don't leak interrupt name when offlining.
xen/spinlock: Don't leak interrupt name when offlining.
xen/time: Encapsulate the struct clock_event_device in another structure.
xen/time: Don't leak interrupt name when offlining.
xen/time: Check that the per_cpu data structure has data before freeing.
xen/time: Free onlined per-cpu data structure if we want to online it again.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/