OpenVZ Forum


Home » Mailing lists » Devel » [NETNS] Oops in register_pernet_operations() with CONFIG_NET_NS=n
Re: [NETNS] Oops in register_pernet_operations() with CONFIG_NET_NS=n [message #22334 is a reply to message #22332] Thu, 25 October 2007 17:21 Go to previous messageGo to previous message
ebiederm is currently offline  ebiederm
Messages: 1354
Registered: February 2006
Senior Member
"Denis V. Lunev" <dlunev@gmail.com> writes:

> Eric W. Biederman wrote:
>> Benjamin Thery <benjamin.thery@bull.net> writes:
>> 
>>> Eric W. Biederman wrote:
>>>> Benjamin Thery <benjamin.thery@bull.net> writes:
>>>>
>>>>> Denis V. Lunev wrote:
>>>>>> The patch attached should help. The idea is simple. The "init" should be
>>>>>> called only once without NETNS. Period. No need for any lists.
>>>>> This is the kind of idea I had but I didn't think it could be 
>>>>> that simple. :) 
>>>>> Thanks Denis.
>>>> It isn't.
>
> this will work due to INIT_LIST_HEAD with circles list to itself and a
> del operation will work.

Suppose I have this fragment of code in a module:

> static int __net_init xt_net_init(struct net *net)
> {
>         ...
> }
> 
> static void __net_exit xt_net_exit(struct net *net)
> {
>         ...
> }
> 
> static struct pernet_operations __net_initdata  xt_net_ops = {
> 	.init = xt_net_init,
> 	.exit = xt_net_exit,
> };
> 
> static int __init xt_init(void)
> {
> 	return register_pernet_subsys(&xt_net_ops);
> }
> 
> static void __exit xt_fini(void)
> {
> 	unregister_pernet_subsys(&xt_net_ops);
> }
> 
> module_init(xt_init);
> module_exit(xt_fini);

What happens during module removal when unregister_pernet_subys calls 
xt_net_ops.exit after xt_net_ops has been removed from the kernels
memory?


> By the way, I think that we can in the case of undefined CONFIG_NET_NS
> reduce register to calling ->init method and unregister to calling
> ->exit method.
>
> This is a correct thing at least for now and will be welcomed by the all
> embedded/etc people.

I'm not fundamentally opposed.  Earlier versions of my patchset
did that and more.   However I think the pain is greater then the
gain right now.  Especially since this concept seem to require
having quality inspected into it.

Eric
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: [PATCH] netns: Fix get_net_ns_by_pid
Next Topic: [PATCH 2/2] Warn when container-init defaults fatal signals
Goto Forum:
  


Current Time: Thu Nov 13 15:38:27 GMT 2025

Total time taken to generate the page: 0.18469 seconds