Subject: Re: [PATCH 2/2] move unneeded data to initdata section

From: "Denis V. Lunev" <[email-masked]>
Date: Thu, 15 Nov 2007 17:42:04 +0300

Eric W. Biederman wrote:
> "Denis V. Lunev" <[email-masked]> writes:
> 
>> This patch reverts Eric's commit 2b008b0a8e96b726c603c5e1a5a7a509b5f61e35
>>
>> It diets .text & .data section of the kernel if CONFIG_NET_NS is not set.
>> This is safe after list operations cleanup.
> 
> Ok.  This patch is technically safe because none of the touched
> code can live in a module and so we never touch the exit code path.
> 
> However in the general case and as a code idiom this __net_initdata
> on struct pernet_operations is fundamentally horribly broken.
> 
> Look at what happens if we use this idiom in module.  There
> is only one definition of __initdata ".init.data".  The module
> loader places all sections that begin with .init in a region of
> memory that will be discarded after module initialization.  

nothing is discarded after module load. Though, I can be wrong. Could
you point me to the exact place?

Regards,
	Den