Hi,
1. Is it
safe to have binfmt_elf.o as loadable module in 2.4.x kernel?
As found in http://www.tldp.org/HOWTO/html_single/Module-HOWTO/,
" It's almost
inconceivable that you wouldn't have this executable interpreter bound into the
base kernel (if for no other reason that your insmod is
probably an ELF
executable). However, it is conceptually possible to leave it out of the base
kernel and insert it as an LKM."
2. If a binfmt_elf.o
is inbuilt in kernel, What should happen if i insert the same module (seperately
compiled *.o) again into that kernel?
cat /proc/ksyms on
my running system which has built in binfmt_elf.o, doesn't show symbols related
to binfmt_elf.o but still it generates application coredump upon
seg-fault.
I added some
printks, compiled binfmt_elf.o and inserted in running kernel. After
inserting the module, i can see the symbols in cat /proc/ksyms. Now when i
generated application seg-fault, core dump was generated as before but I could
find my printks in /var/log/messages. which indicates, that the code is flowing
from there.
The question is if
the code is flowing from binfmt_elf.o, how coredump was getting generated before
i inserted it.
One possibility
is:
As in most of the
systems, binfmt_elf.o is default built inside the kernel. So running kernel was
already having it and when I inserted the same module again, the symbols
got overwritten. and thats why i get the printks in dmesg. But if the module is
built in the kernel, why it is not showing symbols in cat
/proc/ksyms?
3. In 2.6
kernel configuration, the same cannot be compiled as module. Can any one tell me
the reason behind this?
Thanks &
Regards,
Panthini