/proc/ksyms and /proc/kallsyms relationship?



/ newbie question below, if not interested, please ignore /

Hello,

In kernel 2.4, there was a /proc/ksyms file. This file, if I understand
correctly, was a method to access the kernel's public symbol table. What
was displayed had all the public kernel's symbols (variables,
functions..) and its associated global addresses, along with some other
usefull stuff, like a CRC value, and the module exporting every specific
symbol.
Fine until this point.

In 2.6 kernels, /proc/ksyms disappeared. Many sources suggest that it
was replaced by the /proc/kallsyms file.
BUT this file seems to be something completely different, and I haven't
figured out in what way it is different. It seems that it's not the
kernels public symbols table.

So, some questions to anyone that knows more on this:

1. Is my description of the functionality of /proc/ksyms in 2.4 kernels
correct?

2. What exactly the /proc/kallsyms file contains? Why does this file
exist and how is it used?

3. Why was there this change in name and behavior of the file?

4. If one wants to find out what are the exported symbols from some
module, so to know which symbols can he use in a future module, how can
he achieve this?

From what I understand about /proc/kallsyms, it contains even the
symbols that are not exported using EXPORT_SYMBOL(symbol_name).
/proc/ksyms, contained every symbol except those that were not
exported (considering the export all default policy in 2.4, in contrast
with the export none policy of 2.6)

/I've already asked about this in kernelnewbies mailing list, but did
not get any useful answer. I also could not find any usefull answers
anywhere on new (and in kernel books). Most references say "just use
/proc/kallsyms instead of /proc/ksyms.

Sorry for the extra long post
Thanks & regards
--
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/



Relevant Pages

  • Re: sched_setaffinity usability
    ... some way kernels not exporting certain information (in the same way it ... does for missing VDSO)? ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Re: ELF: what should be part of the userspace headers?
    ... doesn't seem to be part of the kernel userspace interface? ... Exporting elf-em.h should be fairly harmless. ... What should be exported to userspace as part of the ... Gentoo kernels are 42 times more popular than SUSE kernels among ...
    (Linux-Kernel)
  • how can I help you ?
    ... in the past I've run a lot of tests against 2.5.* kernels and posted the ... I think they were usefull, but at the moment OSDL is doing much ... Filtri antispamming e antivirus per la tua casella di posta ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Re: /proc/ksyms and /proc/kallsyms relationship?
    ... was a method to access the kernel's public symbol table. ... usefull stuff, like a CRC value, and the module exporting every specific ... In 2.6 kernels, /proc/ksyms disappeared. ... kallsyms contains all the global symbols in the ...
    (Linux-Kernel)
  • intercepting system calls in kernel 2.6.x
    ... as your know in kernels 2.6.x there is no exporting sys_call_table to ... My question is how can I now intercept system calls? ... Marcin Nowojski ...
    (comp.unix.programmer)