Re: [PATCH] kprobes: fix compilation when KPROBE_EVENTS is enabled without kretpobes

From: Naveen N. Rao
Date: Sat Apr 06 2019 - 13:23:01 EST


Sven Schnelle wrote:
While implementing kprobes on PA-RISC (without kretprobes) compilation
fails when CONFIG_KPROBE_EVENTS is enabled:

Thanks for working on that! Is there a specific reason kretprobes is not being enabled on parisc?


kernel/trace/trace_kprobe.o: in function `trace_kprobe_create':
kernel/trace/trace_kprobe.c:666: undefined reference to `kprobe_on_func_entry'
kernel/trace/trace_kprobe.o: in function `trace_kprobe_on_func_entry':
kernel/trace/trace_kprobe.c:167: undefined reference to `kprobe_on_func_entry'
kernel/trace/trace_kprobe.c:167: undefined reference to `kprobe_on_func_entry'
make: *** [Makefile:1029: vmlinux] Error 1

Given the fact that these functions have no dependencies on kretprobes i think
they should be moved out of the #ifdef CONFIG_KRETPROBES block.

Signed-off-by: Sven Schnelle <svens@xxxxxxxxxxxxxx>
Cc: "Naveen N. Rao" <naveen.n.rao@xxxxxxxxxxxxx>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@xxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
---
kernel/kprobes.c | 39 ++++++++++++++++++++-------------------
1 file changed, 20 insertions(+), 19 deletions(-)

These functions were originally added only for kretprobes, but have taken on newer uses since then. So, for this patch:
Acked-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>

However, I wonder if we should simply remove CONFIG_KRETPROBES altogether. All architectures supporting kprobes today also support kretprobes. I don't see why anyone would want to only disable kretprobes.


- Naveen