Re: [PATCH][RFC] disable built-in modules V2

From: Randy.Dunlap
Date: Thu Apr 07 2005 - 12:30:53 EST


On Thu, 7 Apr 2005 13:22:57 -0400 (EDT) Richard B. Johnson wrote:

| On Thu, 7 Apr 2005, Randy.Dunlap wrote:
|
| > On Thu, 7 Apr 2005 10:23:32 +0200 Magnus Damm wrote:
| >
| > | On Apr 7, 2005 4:23 AM, Roland Dreier <roland@xxxxxxxxxxx> wrote:
| > | > > > -#define module_init(x) __initcall(x);
| > | > > > +#define module_init(x) __initcall(x); __module_init_disable(x);
| > | > >
| > | > > It would be better if there is brackets around them... like
| > | > >
| > | > > #define module_init(x) { __initcall(x); __module_init_disable(x); }
| > | > >
| > | > > then we know it wont break some code like
| > | > >
| > | > > if (..)
| > | > > module_init(x);
| > | >
| > | > This is all completely academic, since module_init() is a declaration
| > | > that won't be inside any code, but in general it's better still to use
| > | > the do { } while (0) idiom like
| > | >
| > | > #define module_init(x) do { __initcall(x); __module_init_disable(x); } while (0)
| > | >
| > | > so it won't break code like
| > | >
| > | > if (..)
| > | > module_init(x);
| > | > else
| > | > something_else();
| > | >
| > | > (Yes, that code is nonsense but if you're going to nitpick, go all the way...)
| > |
| > | Right. =)
| > | Anyway, besides nitpicking, is there any reason not to include this
| > | code? Or is the added feature considered plain bloat? Yes, the kernel
| > | will become a bit larger, but all the data added by this patch will go
| > | into the init section.
| >
| > Looks like a good idea to me.
| >
| > ---
| > ~Randy
|
| Can't you disable module-loading with a module? I think so.
| You don't need to modify the kernel. Boot-scripts could
| just load the "final" module and there is nothing that
| can be done to add another module (or even unload existing
| ones).

Sounds likely, but that's not what the patch from Magnus is
even trying to do. It's purely for boot-time selection of
troublesome modules or devices AFAICT. I've had a few
occasions to use something like this -- or rebuild a kernel
or remove a device.

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/