diff options
author | Niklas Cassel <nks@flawful.org> | 2016-09-22 16:21:13 +0200 |
---|---|---|
committer | Jesper Nilsson <jespern@axis.com> | 2016-09-22 16:26:29 +0200 |
commit | 75e52ba125702608809726c1884046117631d0fe (patch) | |
tree | 0d8164920b6be5258a45dd2367d0e8d2208e71ac /arch/cris | |
parent | cris: fasttimer: fix mixed declarations and code compile warning (diff) | |
download | linux-75e52ba125702608809726c1884046117631d0fe.tar.xz linux-75e52ba125702608809726c1884046117631d0fe.zip |
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')
-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) irq_set_default_host(domain); of_node_put(np); - for (i = FIRST_IRQ, j = 0; j < NBR_INTR_VECT; i++, j++) { + for (i = FIRST_IRQ, j = 0; j < NBR_INTR_VECT && j < MACH_IRQS; i++, j++) set_exception_vector(i, interrupt[j]); - } /* Mark Timer and IPI IRQs as CPU local */ irq_allocations[TIMER0_INTR_VECT - FIRST_IRQ].cpu = CPU_FIXED; |