I thought that the bug might happen when two kernel modules are being loaded. If module A is loaded and its code includes references to functions exported by module B, I thought module A could call those functions before the module_init function of module B has finished. I was not thinking about buggy calls to registering interface functions. I just thought that the kernel should not allow symbols exported by EXPORT_SYMBOLto be visible to other modules before the module_init function is finished. One could code the exported functions so that they could be safely called by anyone while the module_init function is being called but that would be an unnecessary burden for coders. I think that a module should expose its functions and variables only by calling registering interface functions before the module_init function is finished. So I think the design of the kernel modules is flawed if it allows anyone to call exported functions before the module_init
function is finished.
Heute schon einen Blick in die Zukunft von E-Mails wagen? Versuchen Sie?s mit dem neuen Yahoo! Mail. http://www.yahoo.de/mail
On Thu, 30 Aug 2007 09:41:41 -0700 (PDT)
Matti Linnanvuori <[email protected]> wrote:
> I thought that the bug might happen when two kernel modules are being
> loaded. If module A is loaded and its code includes references to
> functions exported by module B, I thought module A could call those
> functions before the module_init function of module B has finished. I
> was not thinking about buggy calls to registering interface
> functions. I just thought that the kernel should not allow symbols
> exported by EXPORT_SYMBOLto be visible to other modules before the
> module_init function is finished. One could code the exported
> functions so that they could be safely called by anyone while the
> module_init function is being called but that would be an unnecessary
> burden for coders. I think that a module should expose its functions
> and variables only by calling registering interface functions before
> the module_init function is finished. So I think the design of the
> kernel modules is flawed if it allows anyone to call exported
> functions before the module_init function is finished.
>
have you seen this?
module loading is pretty much serialized, so that no 2 modules are
being loaded in parallel...