]> git.hungrycats.org Git - linux/commitdiff
[PATCH] r8169: skb alignment nitpicking
authorFrançois Romieu <romieu@fr.zoreil.com>
Tue, 22 Feb 2005 15:44:25 +0000 (10:44 -0500)
committerJeff Garzik <jgarzik@pobox.com>
Tue, 22 Feb 2005 15:44:25 +0000 (10:44 -0500)
Nail an overrun in skb alignment and remove the relevant magic variable.

Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/net/r8169.c

index 289059d9bb5b8a1f7cdfa8492918cdee3cd3c6b6..7ab492dd3ac6dcd7142cbd7f6f5bda9485b3845a 100644 (file)
@@ -1697,11 +1697,11 @@ static int rtl8169_alloc_rx_skb(struct pci_dev *pdev, struct sk_buff **sk_buff,
        dma_addr_t mapping;
        int ret = 0;
 
-       skb = dev_alloc_skb(rx_buf_sz);
+       skb = dev_alloc_skb(rx_buf_sz + NET_IP_ALIGN);
        if (!skb)
                goto err_out;
 
-       skb_reserve(skb, 2);
+       skb_reserve(skb, NET_IP_ALIGN);
        *sk_buff = skb;
 
        mapping = pci_map_single(pdev, skb->tail, rx_buf_sz,
@@ -2140,9 +2140,9 @@ static inline int rtl8169_try_rx_copy(struct sk_buff **sk_buff, int pkt_size,
        if (pkt_size < rx_copybreak) {
                struct sk_buff *skb;
 
-               skb = dev_alloc_skb(pkt_size + 2);
+               skb = dev_alloc_skb(pkt_size + NET_IP_ALIGN);
                if (skb) {
-                       skb_reserve(skb, 2);
+                       skb_reserve(skb, NET_IP_ALIGN);
                        eth_copy_and_sum(skb, sk_buff[0]->tail, pkt_size, 0);
                        *sk_buff = skb;
                        rtl8169_return_to_asic(desc, rx_buf_sz);