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-- | 39.7 KB |
Makefile | -rw-r--r-- | 1.0 KB |
calibrate.c | -rw-r--r-- | 5.1 KB |
do_mounts.c | -rw-r--r-- | 9.3 KB |
do_mounts.h | -rw-r--r-- | 1.4 KB |
do_mounts_initrd.c | -rw-r--r-- | 3.1 KB |
do_mounts_md.c | -rw-r--r-- | 7.9 KB |
do_mounts_rd.c | -rw-r--r-- | 8.0 KB |
initramfs.c | -rw-r--r-- | 12.6 KB |
main.c | -rw-r--r-- | 21.7 KB |
noinitramfs.c | -rw-r--r-- | 1.4 KB |
version.c | -rw-r--r-- | 1.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...