|
@@ -710,9 +710,7 @@ static void reuse_unused_kprobe(struct kprobe *ap)
|
|
|
* there is still a relative jump) and disabled.
|
|
|
*/
|
|
|
op = container_of(ap, struct optimized_kprobe, kp);
|
|
|
- if (unlikely(list_empty(&op->list)))
|
|
|
- printk(KERN_WARNING "Warning: found a stray unused "
|
|
|
- "aggrprobe@%p\n", ap->addr);
|
|
|
+ WARN_ON_ONCE(list_empty(&op->list));
|
|
|
/* Enable the probe again */
|
|
|
ap->flags &= ~KPROBE_FLAG_DISABLED;
|
|
|
/* Optimize it again (remove from op->list) */
|
|
@@ -985,7 +983,8 @@ static int arm_kprobe_ftrace(struct kprobe *p)
|
|
|
ret = ftrace_set_filter_ip(&kprobe_ftrace_ops,
|
|
|
(unsigned long)p->addr, 0, 0);
|
|
|
if (ret) {
|
|
|
- pr_debug("Failed to arm kprobe-ftrace at %p (%d)\n", p->addr, ret);
|
|
|
+ pr_debug("Failed to arm kprobe-ftrace at %pS (%d)\n",
|
|
|
+ p->addr, ret);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -1025,7 +1024,8 @@ static int disarm_kprobe_ftrace(struct kprobe *p)
|
|
|
|
|
|
ret = ftrace_set_filter_ip(&kprobe_ftrace_ops,
|
|
|
(unsigned long)p->addr, 1, 0);
|
|
|
- WARN(ret < 0, "Failed to disarm kprobe-ftrace at %p (%d)\n", p->addr, ret);
|
|
|
+ WARN_ONCE(ret < 0, "Failed to disarm kprobe-ftrace at %pS (%d)\n",
|
|
|
+ p->addr, ret);
|
|
|
return ret;
|
|
|
}
|
|
|
#else /* !CONFIG_KPROBES_ON_FTRACE */
|
|
@@ -2069,11 +2069,12 @@ out:
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(enable_kprobe);
|
|
|
|
|
|
+/* Caller must NOT call this in usual path. This is only for critical case */
|
|
|
void dump_kprobe(struct kprobe *kp)
|
|
|
{
|
|
|
- printk(KERN_WARNING "Dumping kprobe:\n");
|
|
|
- printk(KERN_WARNING "Name: %s\nAddress: %p\nOffset: %x\n",
|
|
|
- kp->symbol_name, kp->addr, kp->offset);
|
|
|
+ pr_err("Dumping kprobe:\n");
|
|
|
+ pr_err("Name: %s\nOffset: %x\nAddress: %pS\n",
|
|
|
+ kp->symbol_name, kp->offset, kp->addr);
|
|
|
}
|
|
|
NOKPROBE_SYMBOL(dump_kprobe);
|
|
|
|
|
@@ -2096,11 +2097,8 @@ static int __init populate_kprobe_blacklist(unsigned long *start,
|
|
|
entry = arch_deref_entry_point((void *)*iter);
|
|
|
|
|
|
if (!kernel_text_address(entry) ||
|
|
|
- !kallsyms_lookup_size_offset(entry, &size, &offset)) {
|
|
|
- pr_err("Failed to find blacklist at %p\n",
|
|
|
- (void *)entry);
|
|
|
+ !kallsyms_lookup_size_offset(entry, &size, &offset))
|
|
|
continue;
|
|
|
- }
|
|
|
|
|
|
ent = kmalloc(sizeof(*ent), GFP_KERNEL);
|
|
|
if (!ent)
|