IRQ_MATRIX_SIZE is the number of longs needed for a bitmap,
multiplied by the size of a long, yielding a byte count. But
it is used as the size of an array of longs, which is way more
memory than is needed.  Change IRQ_MATRIX_SIZE so it is just the
number of longs needed and the arrays come out the correct size.

Signed-off-by: Michael Kelley <mikel...@microsoft.com>
---
 kernel/irq/matrix.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/irq/matrix.c b/kernel/irq/matrix.c
index 6e6d467..1f0985a 100644
--- a/kernel/irq/matrix.c
+++ b/kernel/irq/matrix.c
@@ -8,7 +8,7 @@
 #include <linux/cpu.h>
 #include <linux/irq.h>
 
-#define IRQ_MATRIX_SIZE        (BITS_TO_LONGS(IRQ_MATRIX_BITS) * 
sizeof(unsigned long))
+#define IRQ_MATRIX_SIZE        (BITS_TO_LONGS(IRQ_MATRIX_BITS))
 
 struct cpumap {
        unsigned int            available;
-- 
1.8.3.1

Reply via email to