lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 04 May 2008 04:22:20 +0200
From:	Johannes Berg <johannes@...solutions.net>
To:	Herbert Xu <herbert@...dor.apana.org.au>
Cc:	David Miller <davem@...emloft.net>, mb@...sch.de,
	netdev@...r.kernel.org, linux-wireless@...r.kernel.org
Subject: Re: mac80211 truesize bugs

On Sun, 2008-05-04 at 10:12 +0800, Herbert Xu wrote:
> On Sun, May 04, 2008 at 04:08:36AM +0200, Johannes Berg wrote:
> >
> > So, what is mac80211 supposed to do? It needs up to 54 bytes of
> > available headroom (for an encrypted mesh packet which currently can't
> > really happen, but anyway) yet it cannot pskb_expand_head() either.
> > Cloning each packet seems even more expensive, and just like skb_orphan
> > subverts the purpose of the socket accounting.
> 
> If all/the majority of your packets need the space then put it in
> LL_MAX_HEADER.  

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.

> In any case, you should always expand the packet
> if necessary in your output routine since LL_MAX_HEADER is just a
> hint.  Yes cloning is expensive compared to not having to do it,
> but as long as this is only done for the exception then it's
> irrelevant.

What's wrong with, instead, doing skb_orphan() and then
pskb_expand_head()? That seems to have the same effect.

johannes

Download attachment "signature.asc" of type "application/pgp-signature" (829 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ