kallsyms __print_symbol prints first weak symbol encountered

From: Mathieu Desnoyers
Date: Tue Oct 30 2007 - 13:49:19 EST


Hi,

I am try to see how I can use kallsyms to get the mapping syscall id ->
syscall name by listing all the symbols corresponding to the function
pointers present in the sys_call_table.

However, I just ran into what I consider an unusual behavior of kallsyms:
when I list the sys_ni() (not implemented system calls), I get
compat_sys_futex instead.

If I look at System.map, it's explained by this:

c0146630 W compat_sys_futex
c0146630 W compat_sys_get_mempolicy
c0146630 W compat_sys_get_robust_list
c0146630 W compat_sys_ipc
c0146630 W compat_sys_kexec_load
c0146630 W compat_sys_keyctl
...
c0146630 T sys_ni_syscall
...
c0146630 W sys_timerfd

kallsyms returns the first symbol encountered, even though it is weak,
when it should in fact return sys_ni_syscall.

Is it a concern for anyone else out there ? Would it make sense to fix
it ?

Mathieu

--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
-
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/