kernel: fix an af_packet regression that was breaking PPPoE on 4.1+ (#20707)

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47459
lede-17.01
Felix Fietkau 2015-11-11 14:12:51 +00:00
parent 4e239d9fdb
commit 8a2a1c1d71
2 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,17 @@
Fix a regression in the af_packet code that was breaking PPPoE
pppd sends packets with only a header and no payload.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -2106,7 +2106,7 @@ static void tpacket_destruct_skb(struct
static bool ll_header_truncated(const struct net_device *dev, int len)
{
/* net device doesn't like empty head */
- if (unlikely(len <= dev->hard_header_len)) {
+ if (unlikely(len < dev->hard_header_len)) {
net_warn_ratelimited("%s: packet size is too short (%d <= %d)\n",
current->comm, len, dev->hard_header_len);
return true;

View File

@ -0,0 +1,17 @@
Fix a regression in the af_packet code that was breaking PPPoE
pppd sends packets with only a header and no payload.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -2323,7 +2323,7 @@ static void tpacket_destruct_skb(struct
static bool ll_header_truncated(const struct net_device *dev, int len)
{
/* net device doesn't like empty head */
- if (unlikely(len <= dev->hard_header_len)) {
+ if (unlikely(len < dev->hard_header_len)) {
net_warn_ratelimited("%s: packet size is too short (%d <= %d)\n",
current->comm, len, dev->hard_header_len);
return true;