kernel-hacking-2024-linux-s.../net/ipv6
Neil Horman 2cc6d2bf3d ipv6: add a missing unregister_pernet_subsys call
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>
2010-09-26 19:09:25 -07:00
..
netfilter netfilter: discard overlapping IPv6 fragment 2010-09-07 13:57:21 -07:00
addrconf.c ipv6: add a missing unregister_pernet_subsys call 2010-09-26 19:09:25 -07:00
addrconf_core.c
addrlabel.c ipv6: add a missing unregister_pernet_subsys call 2010-09-26 19:09:25 -07:00
af_inet6.c inet, inet6: make tcp_sendmsg() and tcp_sendpage() through inet_sendmsg() and inet_sendpage() 2010-07-12 20:21:46 -07:00
ah6.c
anycast.c net-next: remove useless union keyword 2010-06-10 23:31:35 -07:00
datagram.c udp: add rehash on connect() 2010-09-08 21:45:01 -07:00
esp6.c
exthdrs.c ipv6: avoid two atomics in ipv6_rthdr_rcv() 2010-06-14 23:13:06 -07:00
exthdrs_core.c
fib6_rules.c net-next: remove useless union keyword 2010-06-10 23:31:35 -07:00
icmp.c ipv6: fix ICMP6_MIB_OUTERRORS 2010-06-09 18:39:27 -07:00
inet6_connection_sock.c ipv6: Refactor update of IPv6 flowi destination address for srcrt (RH) option 2010-06-02 07:08:31 -07:00
inet6_hashtables.c
ip6_fib.c net-next: remove useless union keyword 2010-06-10 23:31:35 -07:00
ip6_flowlabel.c
ip6_input.c
ip6_output.c ip: fix truesize mismatch in ip fragmentation 2010-09-21 15:05:50 -07:00
ip6_tunnel.c net-next: remove useless union keyword 2010-06-10 23:31:35 -07:00
ip6mr.c ipmr: dont corrupt lists 2010-06-07 02:57:14 -07:00
ipcomp6.c
ipv6_sockglue.c ipv6: remove ipv6_statistics 2010-06-25 21:33:17 -07:00
Kconfig
Makefile
mcast.c net-next: remove useless union keyword 2010-06-10 23:31:35 -07:00
mip6.c IPv6: fix CoA check in RH2 input handler (mip6_rthdr_input()) 2010-07-18 15:04:33 -07:00
ndisc.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-07-07 15:59:38 -07:00
netfilter.c netfilter: kill redundant check code in which setting ip_summed value 2010-06-14 16:20:02 +02:00
proc.c snmp: 64bit ipstats_mib for all arches 2010-06-30 13:31:19 -07:00
protocol.c
raw.c net-next: remove useless union keyword 2010-06-10 23:31:35 -07:00
reassembly.c ipv6: discard overlapping fragment 2010-09-07 13:57:21 -07:00
route.c ipv6: remove sysctl jiffies conversion on gc_elasticity and min_adv_mss 2010-08-14 22:42:51 -07:00
sit.c net-next: remove useless union keyword 2010-06-10 23:31:35 -07:00
syncookies.c syncookies: add support for ECN 2010-06-26 22:00:03 -07:00
sysctl_net_ipv6.c
tcp_ipv6.c inet, inet6: make tcp_sendmsg() and tcp_sendpage() through inet_sendmsg() and inet_sendpage() 2010-07-12 20:21:46 -07:00
tunnel6.c
udp.c udp: add rehash on connect() 2010-09-08 21:45:01 -07:00
udp_impl.h
udplite.c
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c xfrm: fix xfrm by MARK logic 2010-07-04 11:46:07 -07:00
xfrm6_state.c xfrm: Allow different selector family in temporary state 2010-09-20 11:11:38 -07:00
xfrm6_tunnel.c