diff options
| author | Dan Carpenter <dan.carpenter@oracle.com> | 2016-07-15 07:05:33 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2016-07-28 01:53:17 -0400 |
| commit | fa1608285b0c350af4848b32e42261f02806073e (patch) | |
| tree | b9bdbd5aa0108215ec593fa23e1b060b024b4d58 /arch/sparc/kernel | |
| parent | 4f6deb8cbab532a8d7250bc09234c1795ecb5e2c (diff) | |
sparc32: off by ones in BUG_ON()
Smatch complains that these tests are off by one, which is true but not
life threatening.
arch/sparc/kernel/irq_32.c:169 irq_link()
error: buffer overflow 'irq_map' 384 <= 384
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel')
| -rw-r--r-- | arch/sparc/kernel/irq_32.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/kernel/irq_32.c b/arch/sparc/kernel/irq_32.c index a979e99f8751..cac4a5554c0e 100644 --- a/arch/sparc/kernel/irq_32.c +++ b/arch/sparc/kernel/irq_32.c | |||
| @@ -165,7 +165,7 @@ void irq_link(unsigned int irq) | |||
| 165 | 165 | ||
| 166 | p = &irq_table[irq]; | 166 | p = &irq_table[irq]; |
| 167 | pil = p->pil; | 167 | pil = p->pil; |
| 168 | BUG_ON(pil > SUN4D_MAX_IRQ); | 168 | BUG_ON(pil >= SUN4D_MAX_IRQ); |
| 169 | p->next = irq_map[pil]; | 169 | p->next = irq_map[pil]; |
| 170 | irq_map[pil] = p; | 170 | irq_map[pil] = p; |
| 171 | 171 | ||
| @@ -182,7 +182,7 @@ void irq_unlink(unsigned int irq) | |||
| 182 | spin_lock_irqsave(&irq_map_lock, flags); | 182 | spin_lock_irqsave(&irq_map_lock, flags); |
| 183 | 183 | ||
| 184 | p = &irq_table[irq]; | 184 | p = &irq_table[irq]; |
| 185 | BUG_ON(p->pil > SUN4D_MAX_IRQ); | 185 | BUG_ON(p->pil >= SUN4D_MAX_IRQ); |
| 186 | pnext = &irq_map[p->pil]; | 186 | pnext = &irq_map[p->pil]; |
| 187 | while (*pnext != p) | 187 | while (*pnext != p) |
| 188 | pnext = &(*pnext)->next; | 188 | pnext = &(*pnext)->next; |
