Re: [GIT PATCH] driver core patches against 2.6.24

Linus Torvalds
2008-01-27T06:43:19Z

On Sat, 26 Jan 2008, Rusty Russell wrote:
>
> module.c:1832 (in load_module)
>
> if (find_module(mod->name)) {
> err = -EEXIST;
> goto free_mod;
> }
>
> That's pretty early, and before this backtrace.
>
> Even for simultaneous loads, there's a mutex which protects from here to the
> list insertion.

My problem isn't trying to load the same module twice.

My problem is that the *driver* already exists (because it's compiled in),
and has already initialized itself, and has already registered.

Then, initrd tries to load an old module for that driver.

So no simultaneous loading, no two modules, simple two *drivers* with the
same module names - but one was compiled in, and the other will fail
because it doesn't have the required linkages (ie it will failt the
modversions checks).

But even before it fails the modversion checks, it apparently does various
ugly things that clash with the built-in driver.

At least that seems to be the case.

Linus