linux-hardened/net/mac80211
Pavel Emelyanov 8566dc3fca mac80211: Fix sleeping allocation under lock in mesh_path_node_copy.
The mesh_path_node_copy() can be called like this:
mesh_path_add
 `- write_lock(&pathtbl_resize_lock); /* ! */
 `- mesh_table_grow
     `- ->copy_node
           `- mesh_path_node_copy

thus, the GFP_KERNEL is not suitable here.

The acceptable fix, I suppose, is make this allocation GPF_ATOMIC -
the mpath_node being allocated is 4 pointers, i.e. this allocation
is small enough to survive even under a moderate memory pressure.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-05-21 21:47:44 -04:00
..
aes_ccm.c mac80211: a few code cleanups 2008-05-07 15:02:11 -04:00
aes_ccm.h mac80211: a few code cleanups 2008-05-07 15:02:11 -04:00
cfg.c mac80211: proper STA info locking 2008-05-14 16:29:34 -04:00
cfg.h [MAC80211]: rename ieee80211_cfg.h to cfg.h 2007-10-10 16:52:34 -07:00
debugfs.c mac80211: QoS related cleanups 2008-05-07 15:02:26 -04:00
debugfs.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
debugfs_key.c mac80211: fix debugfs default key oops 2008-05-12 21:18:05 -04:00
debugfs_key.h mac80211: fix key vs. sta locking problems 2008-04-08 16:44:45 -04:00
debugfs_netdev.c mac80211: a few code cleanups 2008-05-07 15:02:11 -04:00
debugfs_netdev.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
debugfs_sta.c mac80211: use hardware flags for signal/noise units 2008-05-14 16:29:49 -04:00
debugfs_sta.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
event.c [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
ieee80211_i.h mac80211: use hardware flags for signal/noise units 2008-05-14 16:29:49 -04:00
iface.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2008-05-15 00:52:37 -07:00
Kconfig wireless: Fix compile error with wifi & leds 2008-04-27 15:34:55 -07:00
key.c mac80211: proper STA info locking 2008-05-14 16:29:34 -04:00
key.h mac80211: fix key hwaccel race 2008-04-16 14:53:22 -04:00
led.c mac80211: rename files 2008-04-08 16:44:45 -04:00
led.h mac80211: rename files 2008-04-08 16:44:45 -04:00
main.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2008-05-15 00:52:37 -07:00
Makefile mac80211: rename files 2008-04-08 16:44:45 -04:00
mesh.c mac80211: Prepare mesh_table_grow to failing copy_node callback. 2008-05-21 21:47:42 -04:00
mesh.h mac80211: Prepare mesh_table_grow to failing copy_node callback. 2008-05-21 21:47:42 -04:00
mesh_hwmp.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2008-05-15 00:52:37 -07:00
mesh_pathtbl.c mac80211: Fix sleeping allocation under lock in mesh_path_node_copy. 2008-05-21 21:47:44 -04:00
mesh_plink.c mac80211: proper STA info locking 2008-05-14 16:29:34 -04:00
michael.c [MAC80211]: Add mac80211 wireless stack. 2007-05-05 11:45:53 -07:00
michael.h [MAC80211]: Add mac80211 wireless stack. 2007-05-05 11:45:53 -07:00
mlme.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2008-05-15 00:52:37 -07:00
rate.c mac80211: rename files 2008-04-08 16:44:45 -04:00
rate.h mac80211: rename files 2008-04-08 16:44:45 -04:00
rc80211_pid.h rc80211-pid: fix definition of rate control interval 2008-01-28 15:00:55 -08:00
rc80211_pid_algo.c mac80211: rename files 2008-04-08 16:44:45 -04:00
rc80211_pid_debugfs.c fix irq flags in mac80211 code 2008-05-12 21:18:04 -04:00
rx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2008-05-15 00:52:37 -07:00
sta_info.c mac80211: proper STA info locking 2008-05-14 16:29:34 -04:00
sta_info.h mac80211: use hardware flags for signal/noise units 2008-05-14 16:29:49 -04:00
tkip.c mac80211: tkip.c use kernel-provided infrastructure 2008-05-14 16:29:32 -04:00
tkip.h mac80211: a few code cleanups 2008-05-07 15:02:11 -04:00
tx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2008-05-15 00:52:37 -07:00
util.c mac80211: fix incorrect mesh header length 2008-05-12 21:22:18 -04:00
wep.c mac80211: Replace ieee80211_tx_control->key_idx with ieee80211_key_conf 2008-05-07 15:02:11 -04:00
wep.h mac80211: a few code cleanups 2008-05-07 15:02:11 -04:00
wext.c mac80211: use hardware flags for signal/noise units 2008-05-14 16:29:49 -04:00
wme.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-15 00:34:44 -07:00
wme.h mac80211: A-MPDU Tx adding qdisc support 2008-02-29 15:19:17 -05:00
wpa.c mac80211: Replace ieee80211_tx_control->key_idx with ieee80211_key_conf 2008-05-07 15:02:11 -04:00
wpa.h mac80211: split ieee80211_txrx_data 2008-03-06 15:30:46 -05:00