From: kaf24@firebug.cl.cam.ac.uk Date: Wed, 25 Jan 2006 13:36:35 +0000 (+0100) Subject: Fix batched request list overflow on packet receive path X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16531^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=57dcc574ee49a7631ade9b0f390504cb3476aaee;p=xen.git Fix batched request list overflow on packet receive path in the netback driver. Signed-off-by: Robert Read Signed-off-by: Keir Fraser --- diff --git a/linux-2.6-xen-sparse/drivers/xen/netback/netback.c b/linux-2.6-xen-sparse/drivers/xen/netback/netback.c index 0124209b51..51838ccafc 100644 --- a/linux-2.6-xen-sparse/drivers/xen/netback/netback.c +++ b/linux-2.6-xen-sparse/drivers/xen/netback/netback.c @@ -39,10 +39,9 @@ static struct timer_list net_timer; #define MAX_PENDING_REQS 256 static struct sk_buff_head rx_queue; -static multicall_entry_t rx_mcl[NET_RX_RING_SIZE*2+1]; +static multicall_entry_t rx_mcl[NET_RX_RING_SIZE+1]; static mmu_update_t rx_mmu[NET_RX_RING_SIZE]; - -static gnttab_transfer_t grant_rx_op[MAX_PENDING_REQS]; +static gnttab_transfer_t grant_rx_op[NET_RX_RING_SIZE]; static unsigned char rx_notify[NR_IRQS]; static unsigned long mmap_vstart; @@ -245,7 +244,7 @@ static void net_rx_action(unsigned long unused) __skb_queue_tail(&rxq, skb); /* Filled the batch queue? */ - if ((mcl - rx_mcl) == ARRAY_SIZE(rx_mcl)) + if ((gop - grant_rx_op) == ARRAY_SIZE(grant_rx_op)) break; }