Thread (3 messages) 3 messages, 2 authors, 2020-06-30

Re: [PATCH] drivers/net/wan/lapbether.c: Fixed kernel panic when used with AF_PACKET sockets

From: Xie He <hidden>
Date: 2020-06-30 16:01:21
Also in: lkml

From: David Miller <davem@davemloft.net>
Date: Mon, Jun 1, 2020 at 11:32 AM -0700
From: Xie He <redacted>
Date: Wed, 27 May 2020 20:21:33 -0700
quoted
When we use "AF_PACKET" sockets to send data directly over LAPB over
Ethernet using this driver, the kernel will panic because of
insufficient header space allocated in the "sk_buff" struct.

The header space needs 18 bytes because:
  the lapbether driver will remove a pseudo header of 1 byte;
  the lapb module will prepend the LAPB header of 2 or 3 bytes;
  the lapbether driver will prepend a length field of 2 bytes and the
Ethernet header of 14 bytes.

So -1 + 3 + 16 = 18.

Signed-off-by: Xie He <redacted>
This is not the real problem.

The real problem is that this is a stacked, layered, device and the
lapbether driver does not take the inner device's header length into
consideration.  It should take this from the child device's netdev
structure rather than use constants.

Your test case will still fail when lapbether is stacked on top of a
VLAN device or similar, even with your changes.
Thank you for your email! I'm sorry I didn't see your email previously
because of problems with my mailbox.

Yes, you are right. I'll use better ways to improve this and re-submit
my patch. Thanks for pointing this out.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help