kernel: properly pad the allocated headroom in skb_cow to NET_SKB_PAD
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 27 May 2012 15:16:37 +0000 (15:16 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 27 May 2012 15:16:37 +0000 (15:16 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31906 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/generic/patches-3.3/654-avoid_skb_cow_realloc.patch

index dfa9819..5b25371 100644 (file)
        if (headroom < NET_SKB_PAD)
 -              headroom = NET_SKB_PAD;
 -      if (headroom > skb_headroom(skb))
+-              delta = headroom - skb_headroom(skb);
 +              alloc_headroom = NET_SKB_PAD;
 +      if (headroom > skb_headroom(skb) ||
 +          (cloned && alloc_headroom > skb_headroom(skb))) {
-               delta = headroom - skb_headroom(skb);
++              delta = alloc_headroom - skb_headroom(skb);
 +      }
  
        if (delta || cloned)