Re: mac80211 truesize bugs

Johannes Berg
2008-05-03T11:52:27Z

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

> We can't update skb->truesize during arbitray skb->data reallocations,
> because it could corrupt the socket accounting.
>
> On the other hand, if we provide ways for users to subvert the socket
> buffer limits, we might as well not try to limit anything.

Why don't we update the socket allocation when doing pskb_expand_head()?
Sure, it could become negative, but is that so bad?

> Take a look at some ethernet drivers that implement TSO in a way that
> requires munging the IP headers for whatever reason. If they need to
> COW the packet data in order to modify it, they always do this with
> pskb_expand_head(skb, 0, 0, GFP_*) exactly so that they don't modify
> the SKB data size, and exactly so that the skb->truesize value stays
> accurate.

We need more space though. Should we then just increase the built-in
headroom?