android_kernel_samsung_msm8976/net
Johannes Berg 2a8a9a88fc [MAC80211]: avoid copying packets to interfaces that are down
David Woodhouse noticed that under some circumstances the number of slab
allocations kept growing. After looking a bit, this seemed to happen
when you had a management mode interface that was *down*.

The reason for this is that when the device is down, all management
frames get queued to the in-kernel MLME (via ieee80211_sta_rx_mgmt) but
then the sta work is invoked but doesn't run when the netif is down.
When you then bring the interface up, all such frames are freed, but if
you change the mode all of them are lost because the skb queue is
reinitialised as soon as you go back to managed mode. The skb queue is
correctly cleared when the interface is brought down, but the code
doesn't account for the fact that it may be filled while it is not up.

This patch should fix the issue by simply ignoring all interfaces that
are down when going through the RX handlers.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10 16:48:39 -07:00
..
9p 9p: fix bad error path in conversion routines 2007-08-23 10:25:05 -05:00
802 [SNAP]: Check packet length before reading 2007-08-21 20:58:13 -07:00
8021q [VLAN]: Fix net_device leak. 2007-09-16 16:43:04 -07:00
appletalk [NET]: Make all initialized struct seq_operations const. 2007-07-10 23:07:31 -07:00
atm [ATM]: Replace DPRINTK() with pr_debug(). 2007-10-10 16:48:27 -07:00
ax25 [AX25]: don't free pointers to statically allocated data 2007-08-14 17:24:05 -07:00
bluetooth [BLUETOOTH]: Fix non-COMPAT build of hci_sock.c 2007-09-12 14:10:58 +02:00
bridge [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
core [PKTGEN]: Remove softirq scheduling. 2007-10-10 16:48:36 -07:00
dccp [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
decnet [DECNET]: Fix interface address listing regression. 2007-09-11 10:45:15 +02:00
econet [ECONET]: remove econet_packet_type on unload 2007-08-14 17:25:20 -07:00
ethernet [NET] ethernet: optimize memcpy and memset 2007-10-10 16:48:26 -07:00
ieee80211 [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
ipv4 [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
ipv6 [IPV6] IPSEC: Omit redirect for tunnelled packet. 2007-10-10 16:48:33 -07:00
ipx [NET]: Make all initialized struct seq_operations const. 2007-07-10 23:07:31 -07:00
irda [IrDA]: MSG_NOSIGNAL support for IrDA sockets 2007-10-10 16:48:37 -07:00
iucv [S390] Convert to smp_call_function_single. 2007-07-27 12:29:17 +02:00
key [NET] Cleanup: DIV_ROUND_UP 2007-10-10 16:48:30 -07:00
lapb [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
llc [NET]: Make all initialized struct seq_operations const. 2007-07-10 23:07:31 -07:00
mac80211 [MAC80211]: avoid copying packets to interfaces that are down 2007-10-10 16:48:39 -07:00
netfilter [NETFILTER]: nfnetlink_log: fix sending of multipart messages 2007-09-20 12:13:52 -07:00
netlabel [NetLabel]: add missing rcu_dereference() calls in the LSM domain mapping hash table 2007-08-07 17:53:10 -07:00
netlink [NETLINK]: use container_of instead 2007-10-10 16:48:35 -07:00
netrom [NET] NETROM: Fix whitespace errors. 2007-07-19 10:44:32 +09:00
packet [NET] PACKET: Fix whitespace errors. 2007-07-19 10:44:35 +09:00
rfkill [NET] RFKILL: Fix whitespace errors. 2007-07-19 10:44:38 +09:00
rose [ROSE]: Fix rose.ko oops on unload 2007-10-07 23:44:17 -07:00
rxrpc net/* misc endianness annotations 2007-07-26 11:11:56 -07:00
sched [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
sctp [IPV6]: Add v4mapped address inline 2007-10-10 16:48:32 -07:00
sunrpc [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
tipc [TIPC]: Clean up duplicate includes in net/tipc/ 2007-08-13 22:52:07 -07:00
unix [AF_UNIX]: Make code static. 2007-07-31 02:28:27 -07:00
wanrouter [NET]: Removal of duplicated include net/wanrouter/wanmain.c 2007-08-02 19:42:22 -07:00
wireless [WIRELESS] radiotap parser: accept all other fields 2007-10-10 16:47:43 -07:00
x25 [NET]: Make all initialized struct seq_operations const. 2007-07-10 23:07:31 -07:00
xfrm [XFRM] policy: Replace magic number with XFRM_POLICY_OUT 2007-10-10 16:48:34 -07:00
compat.c O_CLOEXEC for SCM_RIGHTS 2007-07-16 09:05:45 -07:00
Kconfig 9p: Reorganization of 9p file system code 2007-07-14 15:13:40 -05:00
Makefile 9p: Reorganization of 9p file system code 2007-07-14 15:13:40 -05:00
nonet.c
socket.c [NET]: Zero length write() on socket should not simply return 0. 2007-09-27 13:52:00 -07:00
sysctl_net.c
TUNABLE