|
@@ -72,7 +72,8 @@ static struct {
|
|
|
raw_spinlock_t lock ____cacheline_aligned_in_smp;
|
|
|
} kretprobe_table_locks[KPROBE_TABLE_SIZE];
|
|
|
|
|
|
-kprobe_opcode_t * __weak kprobe_lookup_name(const char *name)
|
|
|
+kprobe_opcode_t * __weak kprobe_lookup_name(const char *name,
|
|
|
+ unsigned int __unused)
|
|
|
{
|
|
|
return ((kprobe_opcode_t *)(kallsyms_lookup_name(name)));
|
|
|
}
|
|
@@ -1403,7 +1404,7 @@ static kprobe_opcode_t *kprobe_addr(struct kprobe *p)
|
|
|
goto invalid;
|
|
|
|
|
|
if (p->symbol_name) {
|
|
|
- addr = kprobe_lookup_name(p->symbol_name);
|
|
|
+ addr = kprobe_lookup_name(p->symbol_name, p->offset);
|
|
|
if (!addr)
|
|
|
return ERR_PTR(-ENOENT);
|
|
|
}
|
|
@@ -2196,7 +2197,7 @@ static int __init init_kprobes(void)
|
|
|
/* lookup the function address from its name */
|
|
|
for (i = 0; kretprobe_blacklist[i].name != NULL; i++) {
|
|
|
kretprobe_blacklist[i].addr =
|
|
|
- kprobe_lookup_name(kretprobe_blacklist[i].name);
|
|
|
+ kprobe_lookup_name(kretprobe_blacklist[i].name, 0);
|
|
|
if (!kretprobe_blacklist[i].addr)
|
|
|
printk("kretprobe: lookup failed: %s\n",
|
|
|
kretprobe_blacklist[i].name);
|