diff options
author | Dan Carpenter <error27@gmail.com> | 2010-01-02 04:08:46 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-01-03 22:06:15 -0800 |
commit | 2585e7e5e1fcf64fd2b2cac0bc1f1b609eabe96a (patch) | |
tree | 7727b3e12099ae4570068b983f671c9683bf0656 /drivers/net/rrunner.c | |
parent | 7ec4e7d3cfee9d7846dbd02ad442c40cb58512e8 (diff) | |
download | op-kernel-dev-2585e7e5e1fcf64fd2b2cac0bc1f1b609eabe96a.zip op-kernel-dev-2585e7e5e1fcf64fd2b2cac0bc1f1b609eabe96a.tar.gz |
rrunner: fix buffer overflow
tx_skbuff is define as:
struct sk_buff *tx_skbuff[TX_RING_ENTRIES];
EVT_RING_ENTRIES is 64 and TX_RING_ENTRIES is 32.
This function is in a error path so that's why it wasn't noticed.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/rrunner.c')
-rw-r--r-- | drivers/net/rrunner.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/rrunner.c b/drivers/net/rrunner.c index 20a7174..1c25709 100644 --- a/drivers/net/rrunner.c +++ b/drivers/net/rrunner.c @@ -1293,7 +1293,7 @@ static void rr_dump(struct net_device *dev) printk("Error code 0x%x\n", readl(®s->Fail1)); - index = (((readl(®s->EvtPrd) >> 8) & 0xff ) - 1) % EVT_RING_ENTRIES; + index = (((readl(®s->EvtPrd) >> 8) & 0xff) - 1) % TX_RING_ENTRIES; cons = rrpriv->dirty_tx; printk("TX ring index %i, TX consumer %i\n", index, cons); |