mfd: rc5t583: Fix array subscript is above array bounds
PATCH 1/1 mfd: rc5t583: Fix array subscript is above array bounds
I got below build warning while compiling this driver.
It's obviously RC5T583_MAX_INTERRUPT_MASK_REGS is 9 but irq_en_add array only has 8 elements.
CC drivers/mfd/rc5t583-irq.odrivers/mfd/rc5t583-irq.c: In function 'rc5t583_irq_sync_unlock':drivers/mfd/rc5t583-irq.c:227: warning: array subscript is above array bounds drivers/mfd/rc5t583-irq.c: In function 'rc5t583_irq_init':drivers/mfd/rc5t583-irq.c:349: warning: array subscript is above array bounds
Since the number of interrupt enable registers is 8, this patch adds define for RC5T583_MAX_INTERRUPT_EN_REGS to fix this bug.
---
Hi Laxman,
I don't have this hardware, I'd appreciate if you can review and test this patch.
Thank you,
Axel
drivers/mfd/rc5t583-irq.c | 2 +- include/linux/mfd/rc5t583.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-)
drivers/mfd/rc5t583-irq.c +1 -1
@@ -345,7 +345,7 @@ int rc5t583_irq_init(struct rc5t583 *rc5t583, int irq, int irq_base)mutex_init (&rc5t583->irq_lock);/* Initailize all int register to 0 */ -for (i =0 ; i <RC5T583_MAX_INTERRUPT_MASK_REGS ; i++) { +for (i =0 ; i <RC5T583_MAX_INTERRUPT_EN_REGS ; i++) { ret =rc5t583_write (rc5t583->dev, irq_en_add[i], rc5t583->irq_en_reg[i]);if (ret <0 )
include/linux/mfd/rc5t583.h +2 -1
@@ -33,6 +33,7 @@/* Maximum number of main interrupts */ #define MAX_MAIN_INTERRUPT 5#define RC5T583_MAX_GPEDGE_REG 2 +#define RC5T583_MAX_INTERRUPT_EN_REGS 8#define RC5T583_MAX_INTERRUPT_MASK_REGS 9/* Interrupt enable register */
@@ -304,7 +305,7 @@ struct rc5t583 {uint8_t intc_inten_reg;/* For group interrupt bits and address */ -uint8_t irq_en_reg[RC5T583_MAX_INTERRUPT_MASK_REGS ]; +uint8_t irq_en_reg[RC5T583_MAX_INTERRUPT_EN_REGS ];/* For gpio edge */ uint8_t gpedge_reg[RC5T583_MAX_GPEDGE_REG ];
Signature · 1 line
1.7.9.5
Quoted 13 lines · Axel Lin
I got below build warning while compiling this driver.
It's obviouslyRC5T583_MAX_INTERRUPT_MASK_REGSis 9 butirq_en_addarray only has 8 elements.CC
drivers/mfd/rc5t583-irq.odrivers/mfd/rc5t583-irq.c: In function 'rc5t583_irq_sync_unlock':drivers/mfd/rc5t583-irq.c:227: warning: array subscript is above array boundsdrivers/mfd/rc5t583-irq.c: In function 'rc5t583_irq_init':drivers/mfd/rc5t583-irq.c:349: warning: array subscript is above array boundsSince the number of interrupt enable registers is 8, this patch adds define for
RC5T583_MAX_INTERRUPT_EN_REGSto fix this bug.
Quoted 6 lines
Signed-off-by Axel Lin<[email protected]>---
Hi Laxman,
I don't have this hardware, I'd appreciate if you can review and test this patch.
Thank you,
Axel
This looks good. I dont see any issue on this.
I am planning to move this to regmap-irq, probably on next release.
Samuel Ortiz
AppliedHi Axel,
Quoted 14 lines · Axel Lin
I got below build warning while compiling this driver.
It's obviouslyRC5T583_MAX_INTERRUPT_MASK_REGSis 9 butirq_en_addarray only has 8 elements.CC
drivers/mfd/rc5t583-irq.odrivers/mfd/rc5t583-irq.c: In function 'rc5t583_irq_sync_unlock':drivers/mfd/rc5t583-irq.c:227: warning: array subscript is above array boundsdrivers/mfd/rc5t583-irq.c: In function 'rc5t583_irq_init':drivers/mfd/rc5t583-irq.c:349: warning: array subscript is above array boundsSince the number of interrupt enable registers is 8, this patch adds define for
RC5T583_MAX_INTERRUPT_EN_REGSto fix this bug.Signed-off-by Axel Lin <[email protected]>
Quoted 8 lines
---
Hi Laxman,
I don't have this hardware, I'd appreciate if you can review and test this patch.
Thank you,
Axeldrivers/mfd/rc5t583-irq.c | 2 +- include/linux/mfd/rc5t583.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-)
Applied, thanks.
Cheers,
Samuel.
Signature · 2 lines
Intel Open Source Technology Centre http://oss.intel.com/