Quantcast
Channel: Active questions tagged linux-kernel - Stack Overflow
Viewing all articles
Browse latest Browse all 12244

How to getting symbol address vmalloc_node_range in Centos6

$
0
0
static struct kprobe kp={.symbol_name = "kallsyms_lookup_name",};int get_kallsyms_lookup_name(void){   int ret = register_kprobe(&kp);   if(ret < 0){   printk("[err] %s. register_kprobe failed, ret:%d\n", __FUNCTION__, ret);   return ret;   }  printk("[info] %s. kprobe at addr:%p, ret:%d\n", __FUNCTION__, kp.addr, ret);  orig_kallsyms_lookup_name = (kallsyms_lookup_name_t)(void*)kp.addr;  unregister_kprobe(&kp);  return ret;}static int __init init(void){    if(get_kallsyms_lookup_name() < 0)    {      printk("[err] %s failed!\n", __FUNCTION__);      return -1; }___vmalloc_node_range = (void *)orig_kallsyms_lookup_name("__vmalloc_node");if(!___vmalloc_node_range)   printk("error");   return -1;}

but it cant get vmalloc_node_range ,just only vmalloc_node.

#define START _AC(0xffffffffa0000000, UL)#define END _AC(0xffffffffff000000, UL)

i must request memory between START and END for my module.


Viewing all articles
Browse latest Browse all 12244

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>