[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Fix the request size for a full page-sized skbuff in netfront



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID d64dbb48684c4a6cc84f778a4faf1ba7fc75b9f0
# Parent  7a03820bbbf32636ee539d6fca9ae45c25a84b78
Fix the request size for a full page-sized skbuff in netfront
driver (must allow 16 bytes for dev_alloc_skb headroom).

Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

xen-unstable cset: c976c1ff806aa46c989fb5b1d84b311519fb0456
committer: Robert Read <robert@xxxxxxxxxxxxx>

diff -r 7a03820bbbf3 -r d64dbb48684c 
linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c      Tue Dec  6 
06:02:54 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c      Tue Dec  6 
06:52:15 2005
@@ -535,8 +535,12 @@
         */
        batch_target = np->rx_target - (req_prod - np->rx.rsp_cons);
        for (i = skb_queue_len(&np->rx_batch); i < batch_target; i++) {
+               /*
+                * Subtract dev_alloc_skb headroom (16 bytes) and shared info
+                * tailroom then round down to SKB_DATA_ALIGN boundary.
+                */
                skb = alloc_xen_skb(
-                       (PAGE_SIZE - sizeof(struct skb_shared_info)) &
+                       (PAGE_SIZE - 16 - sizeof(struct skb_shared_info)) &
                        (-SKB_DATA_ALIGN(1)));
                if (skb == NULL)
                        break;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.