summaryrefslogtreecommitdiff
path: root/target/linux/generic/pending-4.14/650-pppoe_header_pad.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/pending-4.14/650-pppoe_header_pad.patch')
-rw-r--r--target/linux/generic/pending-4.14/650-pppoe_header_pad.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/generic/pending-4.14/650-pppoe_header_pad.patch b/target/linux/generic/pending-4.14/650-pppoe_header_pad.patch
new file mode 100644
index 0000000..3115073
--- /dev/null
+++ b/target/linux/generic/pending-4.14/650-pppoe_header_pad.patch
@@ -0,0 +1,29 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: pppoe: add extra padding for the header (useful for drivers that need headroom)
+
+lede-commit 6517a757ec711fc3354b857e273e2621042f3c7a
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/net/ppp/pppoe.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/ppp/pppoe.c
++++ b/drivers/net/ppp/pppoe.c
+@@ -861,7 +861,7 @@ static int pppoe_sendmsg(struct socket *
+ 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;
+@@ -869,7 +869,7 @@ static int pppoe_sendmsg(struct socket *
+ }
+
+ /* 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;