Array subscript above array bounds warning
Emilio López
emilio at elopez.com.ar
Sat Apr 27 19:54:35 EDT 2013
El 27/04/13 20:29, Tony Prisk escribió:
> Could someone clarify for me what I am missing here?
>
>
> in drivers/net/ethernet/via/velocity.h is the following definition:
>
> struct mac_regs {
> volatile u8 PAR[6]; /* 0x00 */
> ...
> }
>
> I am trying to add the following function but it keeps giving array
> bounds warnings:
>
> static void velocity_set_power_state(struct velocity_info *vptr, char
> state)
> {
> struct mac_regs __iomem *regs = vptr->mac_regs;
>
> if (vptr->bustype == BUS_PCI) {
> pci_set_power_state(vptr->pdev, state);
> } else {
> writeb(state, (®s->PAR[0]) + 0x154);
This would be equivalent to
writeb(state, regs->PAR + 0x154);
or
writeb(state, ®s->PAR[340]);
Which would be out of bounds, right? As it's an u8 array with just 6
elements, not 341+
More information about the linux-arm-kernel
mailing list