On 11/23/05, Bill Davidsen <davidsen@xxxxxxx> wrote:
Ashutosh Naik wrote:
Hi,
I made e1000 ( or for that matter anything) a part of the 2.6.15-rc1
kernel and booted the kernel. Next I compiled e1000 as a module (
e1000.ko ), and tried to insmod it into the kernel( which already had
e1000 a compiled as a part of the kernel). I observed that
/proc/kallsyms contained two copies of all the symbols exported by
e1000, and I also got a Kernel Panic on the way.
Is this behaviour natural and desirable ?
No, trying to insert a module into a kernel built with the functionality
compiled in is a vile perverted act, and probably illegal in Republican
states! ;-)
The other day I mentioned that reiser4 will find bugs because people
will do bizarre things with it when it is more widely used. I think you
have hit a "no one would ever do that" bug in the module loader, and
demonstrated my point in the process.
The panic isn't desirable, but I'm not sure what "correct behaviour"
would be, I can't imagine that this is intended to work. The issues of
removing such a module gracefully are significant.
Wouldn't the desired behaviour be that when the kernel attempts to
load a module it checks if it is already present build-in and if so
simply refuse to load it at all?