On Sun, Aug 7, 2011 at 4:03 PM, Abu Rasheda <rcpilot2010@xxxxxxxxx> wrote:
How do i do it using kprobes? To register a kprobe, i need the address of kallsyms_lookup_name which is what i want in the first place.
Venkatram
On Sat, Aug 6, 2011 at 11:06 AM, Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx> wrote:
On Sat, Aug 6, 2011 at 12:55, Venkatram Tummala <venkatram867@xxxxxxxxx> wrote:
> Hi,
>
> I need to use some unexported kernel symbols in my kernel module but in the
> particular kernel version i am based on (2.6.18 - RHEL 5.7),
> kallsyms_lookup_name is not exported and there is no kallsyms_on_each_symbol
> in this kernel. And I can't change the kernel owing to reasons i have no
> control over.
>
> In this scenario, how do i use unexported symbols. Is there any other
> mechanism by which i can lookup the address of a kernel symbol.
You can:
- grep kallsyms_lookup from /proc/kallsyms (it is there on SL 5.5 and SL 6.0. You can edit your program and assign something like:
int (*my_kallsyms_lookup_name)(const char *name) = (void *) KALLSYMS;
where KALLSYMS is address found above, or your loading script can feed this address.
This is what i am currently doing but i need a cleaner way of doing this.
if your kernel is compiled with kprobe, you can use it to get address too.
How do i do it using kprobes? To register a kprobe, i need the address of kallsyms_lookup_name which is what i want in the first place.
Venkatram
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies