Revision 2cc6d2bf3d6195fabcf0febc192c01f99519a8f3 authored by Neil Horman on 24 September 2010, 09:55:52 UTC, committed by David S. Miller on 27 September 2010, 02:09:25 UTC
Clean up a missing exit path in the ipv6 module init routines.  In
addrconf_init we call ipv6_addr_label_init which calls register_pernet_subsys
for the ipv6_addr_label_ops structure.  But if module loading fails, or if the
ipv6 module is removed, there is no corresponding unregister_pernet_subsys call,
which leaves a now-bogus address on the pernet_list, leading to oopses in
subsequent registrations.  This patch cleans up both the failed load path and
the unload path.  Tested by myself with good results.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>

 include/net/addrconf.h |    1 +
 net/ipv6/addrconf.c    |   11 ++++++++---
 net/ipv6/addrlabel.c   |    5 +++++
 3 files changed, 14 insertions(+), 3 deletions(-)
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent bc68580
History
File Mode Size
Kconfig -rw-r--r-- 1.3 KB
Makefile -rw-r--r-- 285 bytes
awacs.c -rw-r--r-- 32.1 KB
awacs.h -rw-r--r-- 8.0 KB
beep.c -rw-r--r-- 7.8 KB
burgundy.c -rw-r--r-- 24.4 KB
burgundy.h -rw-r--r-- 4.0 KB
daca.c -rw-r--r-- 6.9 KB
keywest.c -rw-r--r-- 3.6 KB
pmac.c -rw-r--r-- 37.4 KB
pmac.h -rw-r--r-- 5.1 KB
powermac.c -rw-r--r-- 5.2 KB
snd_ps3.c -rw-r--r-- 28.7 KB
snd_ps3.h -rw-r--r-- 3.5 KB
snd_ps3_reg.h -rw-r--r-- 33.2 KB
tumbler.c -rw-r--r-- 38.6 KB
tumbler_volume.h -rw-r--r-- 6.5 KB

back to top