linux/net/mac80211
Felix Fietkau f8a0a78148 mac80211: fix potentially redundant skb data copying
When an skb is shared, it needs to be duplicated, along with its data buffer.
If the skb does not have enough headroom, using skb_copy might cause the data
buffer to be copied twice (once by skb_copy and once by pskb_expand_head).
Fix this by using skb_clone initially and letting ieee80211_skb_resize sort
out the rest.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-20 14:52:17 -05:00
..
Kconfig nl80211/mac80211: Report signal average 2010-12-07 16:09:12 -05:00
Makefile mac80211: add the minstrel_ht rate control algorithm 2010-06-02 16:12:59 -04:00
aes_ccm.c mac80211: Remove redundant checks for NULL before calls to crypto_free_cipher() 2010-11-15 13:26:11 -05:00
aes_ccm.h mac80211: pass scratch buffer directly, remove additional pointers 2008-07-08 14:16:02 -04:00
aes_cmac.c mac80211: Remove redundant checks for NULL before calls to crypto_free_cipher() 2010-11-15 13:26:11 -05:00
aes_cmac.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
agg-rx.c mac80211: fix RX aggregation locking 2010-11-29 15:30:30 -05:00
agg-tx.c mac80211: Add timeout to BA session start API 2010-12-15 17:03:59 -05:00
cfg.c mac80211: Send mesh non-HWMP path selection frames to userspace 2010-12-20 14:46:58 -05:00
cfg.h [MAC80211]: rename ieee80211_cfg.h to cfg.h 2007-10-10 16:52:34 -07:00
chan.c cfg80211/mac80211: use lockdep_assert_held 2010-09-16 15:46:00 -04:00
debugfs.c mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
debugfs.h mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
debugfs_key.c mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_netdev.c nl80211/mac80211: define and allow configuring mesh element TTL 2010-12-06 16:01:28 -05:00
debugfs_netdev.h mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_sta.c mac80211: Add timeout to BA session start API 2010-12-15 17:03:59 -05:00
debugfs_sta.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
driver-ops.h mac80211 default tx_last_beacon false (congestion) 2010-12-13 15:23:29 -05:00
driver-trace.c mac80211: fix sparse warnings/errors 2009-08-04 16:43:25 -04:00
driver-trace.h mac80211: Add antenna configuration 2010-11-16 16:37:05 -05:00
event.c cfg80211: use proper allocation flags 2009-07-10 15:01:49 -04:00
ht.c mac80211: fix SMPS request 2010-10-13 15:45:23 -04:00
ibss.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-15 16:33:28 -05:00
ieee80211_i.h mac80211: Let userspace enable and configure vendor specific path selection. 2010-12-20 14:46:57 -05:00
iface.c cfg80211/mac80211: add mesh join/leave commands 2010-12-06 16:01:29 -05:00
key.c mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
led.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
led.h mac80211: rename files 2008-04-08 16:44:45 -04:00
main.c mac80211: Send mesh non-HWMP path selection frames to userspace 2010-12-20 14:46:58 -05:00
mesh.c mac80211: Remove unused third address from mesh address extension header. 2010-12-20 14:49:47 -05:00
mesh.h mac80211: Remove unused third address from mesh address extension header. 2010-12-20 14:49:47 -05:00
mesh_hwmp.c nl80211/mac80211: define and allow configuring mesh element TTL 2010-12-06 16:01:28 -05:00
mesh_pathtbl.c nl80211/mac80211: define and allow configuring mesh element TTL 2010-12-06 16:01:28 -05:00
mesh_plink.c mac80211: Let userspace enable and configure vendor specific path selection. 2010-12-20 14:46:57 -05:00
michael.c mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
michael.h mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
mlme.c mac80211: fix a compiler warning 2010-12-07 17:08:06 -05:00
offchannel.c mac80211: disable beacon monitor while going offchannel 2010-09-16 15:46:17 -04:00
pm.c mac80211: assure we also cancel deferred scan request 2010-10-06 16:30:42 -04:00
rate.c cfg80211/mac80211: improve ad-hoc multicast rate handling 2010-11-24 16:19:35 -05:00
rate.h mac80211: add the minstrel_ht rate control algorithm 2010-06-02 16:12:59 -04:00
rc80211_minstrel.c minstrel: don't complain about feedback for unrequested rates 2010-07-26 15:09:04 -04:00
rc80211_minstrel.h minstrel: make the rate control ops reusable from another rc implementation 2010-03-10 17:44:23 -05:00
rc80211_minstrel_debugfs.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
rc80211_minstrel_ht.c mac80211: Add timeout to BA session start API 2010-12-15 17:03:59 -05:00
rc80211_minstrel_ht.h minstrel_ht: move minstrel_mcs_groups declaration to header file 2010-06-24 15:42:18 -04:00
rc80211_minstrel_ht_debugfs.c mac80211: disallow seeks in minstrel debug code 2010-09-16 10:33:17 +02:00
rc80211_pid.h mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rc80211_pid_algo.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rc80211_pid_debugfs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-10-23 11:47:02 -07:00
rx.c mac80211: Send mesh non-HWMP path selection frames to userspace 2010-12-20 14:46:58 -05:00
scan.c mac80211: fix sw scan locking 2010-10-07 14:41:27 -04:00
spectmgmt.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
sta_info.c nl80211/mac80211: Report signal average 2010-12-07 16:09:12 -05:00
sta_info.h mac80211: Add timeout to BA session start API 2010-12-15 17:03:59 -05:00
status.c mac80211: speed up AP probing using nullfunc frames 2010-12-06 15:58:44 -05:00
tkip.c mac80211: remove wep dependency 2010-07-08 16:35:50 -04:00
tkip.h mac80211: remove wep dependency 2010-07-08 16:35:50 -04:00
tx.c mac80211: fix potentially redundant skb data copying 2010-12-20 14:52:17 -05:00
util.c mac80211: fix powersaving clients races 2010-11-17 16:19:33 -05:00
wep.c mac80211: don't kmalloc 16 bytes 2010-10-11 15:04:23 -04:00
wep.h mac80211: remove wep dependency 2010-07-08 16:35:50 -04:00
wme.c mac80211: defines for AC numbers 2010-11-17 16:19:31 -05:00
wme.h mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
work.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-15 16:33:28 -05:00
wpa.c mac80211: move packet flags into packet 2010-09-27 15:57:54 -04:00
wpa.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00