linux-uconsole/net/ax25
Eric W. Biederman 28b78eb401 net ax25: Reorder ax25_exit to remove races.
[ Upstream commit 3adadc08cc ]

While reviewing the sysctl code in ax25 I spotted races in ax25_exit
where it is possible to receive notifications and packets after already
freeing up some of the data structures needed to process those
notifications and updates.

Call unregister_netdevice_notifier early so that the rest of the cleanup
code does not need to deal with network devices.  This takes advantage
of my recent enhancement to unregister_netdevice_notifier to send
unregister notifications of all network devices that are current
registered.

Move the unregistration for packet types, socket types and protocol
types before we cleanup any of the ax25 data structures to remove the
possibilities of other races.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-27 09:51:21 -07:00
..
af_ax25.c net ax25: Reorder ax25_exit to remove races. 2012-04-27 09:51:21 -07:00
ax25_addr.c
ax25_dev.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
ax25_ds_in.c
ax25_ds_subr.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
ax25_ds_timer.c ax25: missplaced sock_put(sk) 2010-08-26 15:18:27 -07:00
ax25_iface.c ax25: Fix set-but-unused variable. 2011-04-17 00:48:31 -07:00
ax25_in.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
ax25_ip.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
ax25_out.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
ax25_route.c net/ax25: Use available error codes 2010-08-18 14:26:31 -07:00
ax25_std_in.c
ax25_std_subr.c
ax25_std_timer.c Revert "ax25: Fix std timer socket destroy handling." 2008-10-06 12:48:29 -07:00
ax25_subr.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
ax25_timer.c [AX25] ax25_timer: use mod_timer instead of add_timer 2008-02-12 17:53:33 -08:00
ax25_uid.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
Kconfig Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
Makefile
sysctl_net_ax25.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
TODO [AX25]: Remove obsolete references to BKL from TODO file. 2008-03-26 02:14:38 -07:00