X-Git-Url: http://git.onelab.eu/?p=procprotect.git;a=blobdiff_plain;f=procprotect.c;h=4431ff848e8c548fbedacd0aaf6581802da9b7f2;hp=c59d42e4b78173023ff94a9c1750323b0ea46bc1;hb=09d0dae85015c19d0c1c18d917900d60974041d6;hpb=71ef859a01e467cf31e1ce4fe9203721f7e1e57a diff --git a/procprotect.c b/procprotect.c index c59d42e..4431ff8 100644 --- a/procprotect.c +++ b/procprotect.c @@ -290,6 +290,18 @@ static int __init procprotect_init(void) aclqpath.name = aclpath; aclqpath.len = strnlen(aclpath, PATH_MAX); + dolast_probe.kp.addr = + (kprobe_opcode_t *) kallsyms_lookup_name("do_last"); + + if (!dolast_probe.kp.addr) { + printk("Couldn't find %s to plant kretprobe\n", "do_last"); + return -1; + } + + if ((ret = register_jprobe(&dolast_probe)) <0) { + printk("register_jprobe failed, returned %u\n", ret); + return -1; + } fast_probe.kp.addr = (kprobe_opcode_t *) kallsyms_lookup_name("lookup_fast"); if (!fast_probe.kp.addr) { @@ -304,18 +316,7 @@ static int __init procprotect_init(void) return -1; } - dolast_probe.kp.addr = - (kprobe_opcode_t *) kallsyms_lookup_name("do_last"); - - if (!dolast_probe.kp.addr) { - printk("Couldn't find %s to plant kretprobe\n", "do_last"); - return -1; - } - - if ((ret = register_jprobe(&dolast_probe)) <0) { - printk("register_jprobe failed, returned %u\n", ret); - return -1; - } + if ((ret = register_kretprobe(&fast_probe)) <0) { printk("register_kretprobe failed, returned %d\n", ret);