Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#3149 - pppoe-only-process-padt-targeted-at-local-interfaces.patch #8250

Closed
openwrt-bot opened this issue Jun 3, 2020 · 3 comments
Closed
Labels

Comments

@openwrt-bot
Copy link

n8v8R:

The issue is well outlined in the forum https://forum.openwrt.org/t/pppoe-disconnects-every-few-hours/61239

Whilst being patched in kernel 4.19 | 5.4 | 5.6 https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/log/?id=a1b8c8b81a0c8c1dba9acaf2f85e7dbd6cbdc5b1&qt=grep&q=pppoe-only-process-padt-targeted-at-local-interfaces.patch&showmsg=1

kernel 4.14 (OpenWrt stable 19.07.x) seems to fall through the cracks somehow. With kernel 5.4 in upcoming stable OpenWrt 20.x still far out it would make sense to backport the patch into OpenWrt stable 19.07.x

@openwrt-bot
Copy link
Author

willkill4f00d:

Having same issue on latest snapshot build DIR-882 A1

@openwrt-bot
Copy link
Author

xerces8:

Note that 4.14 was also patched:

[PATCH 4.14 06/46] pppoe: only process PADT targeted at local interfaces From: Greg Kroah-Hartman

9 Jun 2020, 19:49

to linux-kernel, Greg, stable, me, Guillaume, David

From: Guillaume Nault gnault@redhat.com

We don't want to disconnect a session because of a stray PADT arriving
while the interface is in promiscuous mode.
Furthermore, multicast and broadcast packets make no sense here, so
only PACKET_HOST is accepted.

Reported-by: David Balažic xerces9@gmail.com
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Guillaume Nault gnault@redhat.com
Signed-off-by: David S. Miller davem@davemloft.net

drivers/net/ppp/pppoe.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c
index fa7121dcab67..202a0f415e1e 100644
--- a/drivers/net/ppp/pppoe.c
+++ b/drivers/net/ppp/pppoe.c
@@ -497,6 +497,9 @@ static int pppoe_disc_rcv(struct sk_buff *skb, struct net_device *dev,
if (!skb)
goto out;

  •   if (skb->pkt_type != PACKET_HOST)
    
  •           goto abort;
    
  •   if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr)))
              goto abort;
    

@openwrt-bot
Copy link
Author

xerces8:

and it seems also in 4.4. and 4.9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant