diff options
author | Dan Carpenter <error27@gmail.com> | 2010-01-01 23:08:46 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-01-04 01:06:15 -0500 |
commit | 2585e7e5e1fcf64fd2b2cac0bc1f1b609eabe96a (patch) | |
tree | 7727b3e12099ae4570068b983f671c9683bf0656 /drivers/net/rrunner.c | |
parent | 7ec4e7d3cfee9d7846dbd02ad442c40cb58512e8 (diff) |
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 20a71749154..1c257098d0a 100644 --- a/drivers/net/rrunner.c +++ b/drivers/net/rrunner.c | |||
@@ -1293,7 +1293,7 @@ static void rr_dump(struct net_device *dev) | |||
1293 | 1293 | ||
1294 | printk("Error code 0x%x\n", readl(®s->Fail1)); | 1294 | printk("Error code 0x%x\n", readl(®s->Fail1)); |
1295 | 1295 | ||
1296 | index = (((readl(®s->EvtPrd) >> 8) & 0xff ) - 1) % EVT_RING_ENTRIES; | 1296 | index = (((readl(®s->EvtPrd) >> 8) & 0xff) - 1) % TX_RING_ENTRIES; |
1297 | cons = rrpriv->dirty_tx; | 1297 | cons = rrpriv->dirty_tx; |
1298 | printk("TX ring index %i, TX consumer %i\n", | 1298 | printk("TX ring index %i, TX consumer %i\n", |
1299 | index, cons); | 1299 | index, cons); |