Subject: Re: [PATCH] ipv6: Do cleanup for ip_mr_init

From: Wang Chen <[email-masked]>
Date: Wed, 02 Jul 2008 17:38:16 +0800

YOSHIFUJI Hideaki / 吉藤英明 said the following on 2008-7-2 17:18:
> In article <[email-masked]> (at Tue, 24 Jun 2008 11:42:19 +0800), Wang Chen <[email-masked]> says:
> 
>> If do not do it, we will get following issues:
>> 1. Leaving junks after inet6_init failing halfway.
>> 2. Leaving proc and notifier junks after ipv6 modules unloading.
>>
>> Signed-off-by: Wang Chen <[email-masked]>
> 
>> diff --git a/include/linux/mroute6.h b/include/linux/mroute6.h
>> index e798959..05ffaac 100644
>> --- a/include/linux/mroute6.h
>> +++ b/include/linux/mroute6.h
>> diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
>> index e84b3fd..15d4138 100644
>> --- a/net/ipv6/af_inet6.c
>> +++ b/net/ipv6/af_inet6.c
>> @@ -1115,7 +1118,9 @@ static void __exit inet6_exit(void)
>>  	ipv6_netfilter_fini();
>>  	igmp6_cleanup();
>>  	ndisc_cleanup();
>> +#ifdef CONFIG_IPV6_MROUTE
>>  	icmpv6_cleanup();
>> +#endif
>>  	rawv6_exit();
>>  
>>  	unregister_pernet_subsys(&inet6_net_ops);
> 
> Well we really need this #ifdef ... #endif?
> 

My fault.
I meant:
+#ifdef CONFIG_IPV6_MROUTE
+	ip6_mr_cleanup();
+#endif
	icmpv6_cleanup();
I will fix.

> And well, would you please make ip6_mr_init() return
> error and handle it correctly?
> 

Sure, I will do it.

> We need to fix ipv4-side as well.
> 

Of course, it can be done by me.

Thank you for the comments.