aboutsummaryrefslogtreecommitdiffstats
path: root/main/linux-grsec/ip_gre2.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-03-16 08:40:44 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-03-16 08:40:44 +0000
commitbe4d4c98b2df0055462259f1d56987efeaee5194 (patch)
tree021f4df70e2dec04feb378a4b81011c074e1f2d3 /main/linux-grsec/ip_gre2.patch
parentae99c382f78b1582b1528c2ce03570605c845503 (diff)
downloadaports-be4d4c98b2df0055462259f1d56987efeaee5194.tar.bz2
aports-be4d4c98b2df0055462259f1d56987efeaee5194.tar.xz
main/linux-grsec: grsec 2.1.14-2.6.32.9-201003112025 + fixes for ipsec and gre
Diffstat (limited to 'main/linux-grsec/ip_gre2.patch')
-rw-r--r--main/linux-grsec/ip_gre2.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/main/linux-grsec/ip_gre2.patch b/main/linux-grsec/ip_gre2.patch
new file mode 100644
index 0000000000..52c44076d2
--- /dev/null
+++ b/main/linux-grsec/ip_gre2.patch
@@ -0,0 +1,17 @@
+--- linux-2.6.32/net/ipv4/ip_gre.c.orig
++++ linux-2.6.32/net/ipv4/ip_gre.c
+@@ -803,11 +803,13 @@
+ tunnel->err_count = 0;
+ }
+
+- max_headroom = LL_RESERVED_SPACE(tdev) + gre_hlen;
++ max_headroom = LL_RESERVED_SPACE(tdev) + gre_hlen + rt->u.dst.header_len;
+
+ if (skb_headroom(skb) < max_headroom || skb_shared(skb)||
+ (skb_cloned(skb) && !skb_clone_writable(skb, 0))) {
+ struct sk_buff *new_skb = skb_realloc_headroom(skb, max_headroom);
++ if (max_headroom > dev->needed_headroom)
++ dev->needed_headroom = max_headroom;
+ if (!new_skb) {
+ ip_rt_put(rt);
+ stats->tx_dropped++;