Is this a loadable kernel module or a built-in module?
If it is a loadable module, everything still remains in the memory without being freed.
Functions and data defined with __init gets freed after their execution only if these are part of built-in kernel modules.
In your case, if the module is a loadable one, you can still access the print_k() from hello_exit() as its still residing in memory.
Regards,
-Amar
On Thu, Aug 16, 2012 at 5:23 PM, Vijay Chauhan <kernel.vijay@xxxxxxxxx> wrote:
Hi,
Even if we call print_k() function inside hello_exit, it still works.
On Tue, Aug 14, 2012 at 9:34 AM, Mulyadi Santosa
<mulyadi.santosa@xxxxxxxxx> wrote:
> Hi.. :)
>
> On Tue, Aug 14, 2012 at 9:14 AM, 王哲 <wangzhe5004@xxxxxxxxx> wrote:
>> i use the __init for function print_k.
>> in my opinion after the fisrt invoking the print_k in the hello_init.
>> the memory of print_k will be freed,and the second invoking will
>> not be executed.but the result of second invoking is executing .
>>
>> why?
>
> because you're still in module_init.... :)
>
> right after modul init stage is done, _init marked function is thrown away...
At that point __init hello_init execution is over. How its still
working?
Regards,
Vijay
>
> --
> regards,
>
> Mulyadi Santosa
> Freelance Linux trainer and consultant
>
> blog: the-hydra.blogspot.com
> training: mulyaditraining.blogspot.com
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies@xxxxxxxxxxxxxxxxx
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies