summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVincenzo Maffione <v.maffione@gmail.com>2014-04-12 09:55:40 (GMT)
committerDavid S. Miller <davem@davemloft.net>2014-04-12 20:49:06 (GMT)
commit810d8cedcc880dca8b64e05fe1331ab5d4f8d992 (patch)
tree0c67703de5b8dde209e5bee3a54cbe76ca30c1bd /drivers
parentdcfba949ba4ff90f5a7ff2942a4c86f9e2ba345d (diff)
downloadlinux-810d8cedcc880dca8b64e05fe1331ab5d4f8d992.tar.xz
drivers: net: xen-netfront: fix array initialization bug
This patch fixes the initialization of an array used in the TX datapath that was mistakenly initialized together with the RX datapath arrays. An out of range array access could happen when RX and TX rings had different sizes. Signed-off-by: Vincenzo Maffione <v.maffione@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/xen-netfront.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 057b0570..158b5e6 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1291,13 +1291,13 @@ static struct net_device *xennet_create_dev(struct xenbus_device *dev)
for (i = 0; i < NET_TX_RING_SIZE; i++) {
skb_entry_set_link(&np->tx_skbs[i], i+1);
np->grant_tx_ref[i] = GRANT_INVALID_REF;
+ np->grant_tx_page[i] = NULL;
}
/* Clear out rx_skbs */
for (i = 0; i < NET_RX_RING_SIZE; i++) {
np->rx_skbs[i] = NULL;
np->grant_rx_ref[i] = GRANT_INVALID_REF;
- np->grant_tx_page[i] = NULL;
}
/* A grant for every tx ring slot */