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
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 1.6 KB |
Makefile | -rw-r--r-- | 271 bytes |
af_x25.c | -rw-r--r-- | 40.5 KB |
sysctl_net_x25.c | -rw-r--r-- | 2.0 KB |
x25_dev.c | -rw-r--r-- | 4.4 KB |
x25_facilities.c | -rw-r--r-- | 8.5 KB |
x25_forward.c | -rw-r--r-- | 3.8 KB |
x25_in.c | -rw-r--r-- | 8.9 KB |
x25_link.c | -rw-r--r-- | 8.7 KB |
x25_out.c | -rw-r--r-- | 5.3 KB |
x25_proc.c | -rw-r--r-- | 6.3 KB |
x25_route.c | -rw-r--r-- | 4.8 KB |
x25_subr.c | -rw-r--r-- | 9.3 KB |
x25_timer.c | -rw-r--r-- | 3.8 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...