aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/generic-2.6/patches-2.6.28/250-pppoe_header_pad.patch20
-rw-r--r--target/linux/generic-2.6/patches-2.6.29/250-pppoe_header_pad.patch20
-rw-r--r--target/linux/generic-2.6/patches-2.6.30/250-pppoe_header_pad.patch20
3 files changed, 60 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.28/250-pppoe_header_pad.patch b/target/linux/generic-2.6/patches-2.6.28/250-pppoe_header_pad.patch
new file mode 100644
index 0000000000..87e5099927
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.28/250-pppoe_header_pad.patch
@@ -0,0 +1,20 @@
+--- a/drivers/net/pppoe.c
++++ b/drivers/net/pppoe.c
+@@ -812,7 +812,7 @@ static int pppoe_sendmsg(struct kiocb *i
+ goto end;
+
+
+- skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32,
++ skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32 + NET_SKB_PAD,
+ 0, GFP_KERNEL);
+ if (!skb) {
+ error = -ENOMEM;
+@@ -820,7 +820,7 @@ static int pppoe_sendmsg(struct kiocb *i
+ }
+
+ /* Reserve space for headers. */
+- skb_reserve(skb, dev->hard_header_len);
++ skb_reserve(skb, dev->hard_header_len + NET_SKB_PAD);
+ skb_reset_network_header(skb);
+
+ skb->dev = dev;
diff --git a/target/linux/generic-2.6/patches-2.6.29/250-pppoe_header_pad.patch b/target/linux/generic-2.6/patches-2.6.29/250-pppoe_header_pad.patch
new file mode 100644
index 0000000000..042546f317
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.29/250-pppoe_header_pad.patch
@@ -0,0 +1,20 @@
+--- a/drivers/net/pppoe.c
++++ b/drivers/net/pppoe.c
+@@ -863,7 +863,7 @@ static int pppoe_sendmsg(struct kiocb *i
+ goto end;
+
+
+- skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32,
++ skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32 + NET_SKB_PAD,
+ 0, GFP_KERNEL);
+ if (!skb) {
+ error = -ENOMEM;
+@@ -871,7 +871,7 @@ static int pppoe_sendmsg(struct kiocb *i
+ }
+
+ /* Reserve space for headers. */
+- skb_reserve(skb, dev->hard_header_len);
++ skb_reserve(skb, dev->hard_header_len + NET_SKB_PAD);
+ skb_reset_network_header(skb);
+
+ skb->dev = dev;
diff --git a/target/linux/generic-2.6/patches-2.6.30/250-pppoe_header_pad.patch b/target/linux/generic-2.6/patches-2.6.30/250-pppoe_header_pad.patch
new file mode 100644
index 0000000000..042546f317
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.30/250-pppoe_header_pad.patch
@@ -0,0 +1,20 @@
+--- a/drivers/net/pppoe.c
++++ b/drivers/net/pppoe.c
+@@ -863,7 +863,7 @@ static int pppoe_sendmsg(struct kiocb *i
+ goto end;
+
+
+- skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32,
++ skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32 + NET_SKB_PAD,
+ 0, GFP_KERNEL);
+ if (!skb) {
+ error = -ENOMEM;
+@@ -871,7 +871,7 @@ static int pppoe_sendmsg(struct kiocb *i
+ }
+
+ /* Reserve space for headers. */
+- skb_reserve(skb, dev->hard_header_len);
++ skb_reserve(skb, dev->hard_header_len + NET_SKB_PAD);
+ skb_reset_network_header(skb);
+
+ skb->dev = dev;