How to understand the macro __init?

Amarnath Revanna amarnath.revanna at gmail.com
Thu Aug 16 10:31:47 EDT 2012


Hi Vijay,

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 at gmail.com>wrote:

> Hi,
>
> On Tue, Aug 14, 2012 at 9:34 AM, Mulyadi Santosa
> <mulyadi.santosa at gmail.com> wrote:
> > Hi.. :)
> >
> > On Tue, Aug 14, 2012 at 9:14 AM, 王哲 <wangzhe5004 at gmail.com> 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...
>
>
> Even if we call  print_k() function inside hello_exit, it still works.
> 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 at kernelnewbies.org
> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120816/55548287/attachment.html 


More information about the Kernelnewbies mailing list