iwlwifi: fix skb truesize underestimation
By default, iwlwifi uses order-1 pages (8 KB) to store incoming frames,
but doesnt say so in skb->truesize.
This makes very possible to exhaust kernel memory since these skb evade
normal socket memory accounting.
As struct ieee80211_hdr is going to be pulled before calling IP stack,
there is no need to use dev_alloc_skb() to reserve NET_SKB_PAD bytes.
alloc_skb() is ok in this driver, allowing more tailroom.
Pull beginning of frame in skb header, in the hope we can reuse order-1
pages in the driver immediately for small frames and reduce their
truesize to the minimum (linear skbs)
Signed-off-by: Eric Dumazet <firstname.lastname@example.org>
Cc: Wey-Yi Guy <email@example.com>
Cc: "John W. Linville" <firstname.lastname@example.org>
Cc: Neal Cardwell <email@example.com>
Signed-off-by: John W. Linville <firstname.lastname@example.org>
3 files changed