aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlegacy/3945.c
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2012-03-23 19:59:33 -0400
committerDavid S. Miller <davem@davemloft.net>2012-03-25 13:29:58 -0400
commit50269e19ad990e79eeda101fc6df80cffd5d4831 (patch)
tree903d80ba1b1fc0eb15e122a8c12a72f72e7ed2de /drivers/net/wireless/iwlegacy/3945.c
parent0015e551edb1d28191567d8a7d1ce5edda404ced (diff)
net: add a truesize parameter to skb_add_rx_frag()
skb_add_rx_frag() API is misleading. Network skbs built with this helper can use uncharged kernel memory and eventually stress/crash machine in OOM. Add a 'truesize' parameter and then fix drivers in followup patches. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/iwlegacy/3945.c')
-rw-r--r--drivers/net/wireless/iwlegacy/3945.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlegacy/3945.c b/drivers/net/wireless/iwlegacy/3945.c
index c5b1d199e0bc..b25c01be0d90 100644
--- a/drivers/net/wireless/iwlegacy/3945.c
+++ b/drivers/net/wireless/iwlegacy/3945.c
@@ -499,7 +499,8 @@ il3945_pass_packet_to_mac80211(struct il_priv *il, struct il_rx_buf *rxb,
499 le32_to_cpu(rx_end->status), stats); 499 le32_to_cpu(rx_end->status), stats);
500 500
501 skb_add_rx_frag(skb, 0, rxb->page, 501 skb_add_rx_frag(skb, 0, rxb->page,
502 (void *)rx_hdr->payload - (void *)pkt, len); 502 (void *)rx_hdr->payload - (void *)pkt, len,
503 len);
503 504
504 il_update_stats(il, false, fc, len); 505 il_update_stats(il, false, fc, len);
505 memcpy(IEEE80211_SKB_RXCB(skb), stats, sizeof(*stats)); 506 memcpy(IEEE80211_SKB_RXCB(skb), stats, sizeof(*stats));