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
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
