diff options
author | Niklas Cassel <nks@flawful.org> | 2016-09-22 10:21:13 -0400 |
---|---|---|
committer | Jesper Nilsson <jespern@axis.com> | 2016-09-22 10:26:29 -0400 |
commit | 75e52ba125702608809726c1884046117631d0fe (patch) | |
tree | 0d8164920b6be5258a45dd2367d0e8d2208e71ac /arch/cris/arch-v32 | |
parent | d355bcb0d82835db142db3c469541c98d5d9091c (diff) |
cris: irq: stop loop from accessing array out of bounds
array "interrupt" only has 32 or 64 elements, depending on machine.
arch/cris/arch-v32/kernel/irq.c: In function ‘init_IRQ’:
arch/cris/arch-v32/kernel/irq.c:475:3: warning: iteration 32u invokes undefined behavior [-Waggressive-loop-optimizations]
set_exception_vector(i, interrupt[j]);
^
arch/cris/arch-v32/kernel/irq.c:474:2: note: containing loop
for (i = FIRST_IRQ, j = 0; j < NBR_INTR_VECT; i++, j++) {
^
Signed-off-by: Niklas Cassel <nks@flawful.org>
Signed-off-by: Jesper Nilsson <jespern@axis.com>
Diffstat (limited to 'arch/cris/arch-v32')
-rw-r--r-- | arch/cris/arch-v32/kernel/irq.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/cris/arch-v32/kernel/irq.c b/arch/cris/arch-v32/kernel/irq.c index 6de8db67cb09..b07da4b695aa 100644 --- a/arch/cris/arch-v32/kernel/irq.c +++ b/arch/cris/arch-v32/kernel/irq.c | |||
@@ -471,9 +471,8 @@ init_IRQ(void) | |||
471 | irq_set_default_host(domain); | 471 | irq_set_default_host(domain); |
472 | of_node_put(np); | 472 | of_node_put(np); |
473 | 473 | ||
474 | for (i = FIRST_IRQ, j = 0; j < NBR_INTR_VECT; i++, j++) { | 474 | for (i = FIRST_IRQ, j = 0; j < NBR_INTR_VECT && j < MACH_IRQS; i++, j++) |
475 | set_exception_vector(i, interrupt[j]); | 475 | set_exception_vector(i, interrupt[j]); |
476 | } | ||
477 | 476 | ||
478 | /* Mark Timer and IPI IRQs as CPU local */ | 477 | /* Mark Timer and IPI IRQs as CPU local */ |
479 | irq_allocations[TIMER0_INTR_VECT - FIRST_IRQ].cpu = CPU_FIXED; | 478 | irq_allocations[TIMER0_INTR_VECT - FIRST_IRQ].cpu = CPU_FIXED; |