diff options
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.patch | 29 |
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; |