IIRC, and AFAIK, the kernel has to allot internal symbols to allow
modules to plug in their interface's addresses to it (hope that made
sense).

LKM's (Linux Kernel Modules) usually export symbols, that are mapped in
the kernel's internal symbol table. This symbol table is fixed, and you
can't just put in a symbol and an accompanying system call/value address
with it. The kernel's symbol table is static the last time I checked,
and this is the basis for the LKM attacks that are prevalent when this
vulnerability of the Linux kernel was exposed and exploited. Actually
it's not really a vulnerability but rather a feature misused and abused
by others.

HOWEVER, there are external modules that may be built separate from the
kernel tree, but would need to make use of kernel symbols generated from
a duly configured and built kernel tree. One example would be the PCMCIA
drivers that are not part of the in-kernel PCMCIA support drivers.

These kernel modules make use of version symbols to be able to cooperate
with the kernel it is built for (version symbols are usually those found
from modversions.h and other files from the linux kernel tree's include
files). These modules export symbols to the running kernel via the Linux
Kernel Module handler (or Linux Kernel Module Loader), which provides
for adding symbols to the otherwise static symbol table the kernel
maintains internally.

Now in your example, I am afraid that the in-kernel parallel port
support generates symbols that other modules/driver would have to know
about so as to not conflict with the already running and installed
kernel. And the symbols generated and exported by in-kernel drivers
would have to be present in the static symbol table that the kernel is
built with.

I might be wrong though, and I still am in the process of studying the
Linux kernel myself. :D

HTH! :D

On Wed, 2003-11-05 at 00:58, Holden Hao wrote:
> > It depends, but you will almost definitely need the kernel sources used
> > to build your running kernel.  If your kernel has not been built with
> > version symbols for modules it may be necessary to do a full recompile
> > with the appropriate patches.
> > 
> > A third-party module will usually have instructions on what you're
> > supposed to do in order to get it running, and in my experience they
> > vary from applying a patch to kernel sources and doing the full rebuild
> 
> What I meant was for example I said "no" to parallel support and then I
> changed my mind and wanted to compile the parallel module.  Is it
> possible to just compile the module and will the previously compiled
> kernel accept it (given that the module uses the proper source
> versions)? 
> 
> Holden
> 
> --
> Philippine Linux Users' Group (PLUG) Mailing List
> [EMAIL PROTECTED] (#PLUG @ irc.free.net.ph)
> Official Website: http://plug.linux.org.ph
> Searchable Archives: http://marc.free.net.ph
> .
> To leave, go to http://lists.q-linux.com/mailman/listinfo/plug
> .
> Are you a Linux newbie? To join the newbie list, go to
> http://lists.q-linux.com/mailman/listinfo/ph-linux-newbie
-- 
Dean Michael Berris
http://mikhailberis.blogspot.com
[EMAIL PROTECTED]
+63 919 8720686
GPG 08AE6EAC

Attachment: signature.asc
Description: This is a digitally signed message part

--
Philippine Linux Users' Group (PLUG) Mailing List
[EMAIL PROTECTED] (#PLUG @ irc.free.net.ph)
Official Website: http://plug.linux.org.ph
Searchable Archives: http://marc.free.net.ph
.
To leave, go to http://lists.q-linux.com/mailman/listinfo/plug
.
Are you a Linux newbie? To join the newbie list, go to
http://lists.q-linux.com/mailman/listinfo/ph-linux-newbie

Reply via email to