Re: mac80211 truesize bugs

Johannes Berg
2008-05-04T09:15:02Z

[-- Attachment #1: Type: text/plain, Size: 949 bytes --]

On Sun, 2008-05-04 at 10:47 +0200, Johannes Berg wrote:
> On Sun, 2008-05-04 at 11:16 +0800, Herbert Xu wrote:
> > On Sun, May 04, 2008 at 04:22:20AM +0200, Johannes Berg wrote:
> > >
> > > Yes, wireless always needs at least 24 bytes, but more likely 34
> > > (encryption+QoS). However, I just increased LL_MAX_HEADER to 54 and that
> > > doesn't seem to have helped.
> >
> > How did you test it?
>
> I stuck a WARN_ON((nhead || ntail) && skb->sk) into pskb_expand_head
> (which never triggered except from mac80211). And mac80211 has code that
> calculates the required header length and only calls pskb_expand_head()
> from that place when it needs more header space (or the skb is cloned. I
> should repeat this test)

I just re-did the test, and I definitely need 29 more bytes on, for
example, the IPv6 autodiscovery packets and ICMP packets generated with
ping(8). Some of them even need additional tailroom.