irqchip/gicv3-its: Fix memory leak in its_free_tables()
commit1a485f4d2e28efd77075b2952926683d6c245633
authorShanker Donthineni <shankerd@codeaurora.org>
Tue, 2 Feb 2016 02:19:44 +0000 (1 20:19 -0600)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 4 Feb 2016 14:14:50 +0000 (4 15:14 +0100)
tree3088dd5ab2953ebba071e45caece4e901da470bd
parent6235f0ecc4ed799169b80f7317c7f974f7415320
irqchip/gicv3-its: Fix memory leak in its_free_tables()

The current ITS driver has a memory leak in its_free_tables(). It
happens on tear down path of the driver when its_probe() call fails.
its_free_tables() should free the exact number of pages that have
been allocated, not just a single page as current code does.

This patch records the memory size for each ITS_BASERn at the time of
page allocation and uses the same size information when freeing pages
to fix the issue.

Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Vikram Sethi <vikrams@codeaurora.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/1454379584-21772-1-git-send-email-shankerd@codeaurora.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/irqchip/irq-gic-v3-its.c