summaryrefslogtreecommitdiff
path: root/kernel/trace/bpf_trace.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-11-11 18:24:55 +0900
committerDavid S. Miller <davem@davemloft.net>2017-11-11 18:24:55 +0900
commitf3edacbd697f94a743fff1a3d26910ab99948ba7 (patch)
treec185057f2e3ae783ad3ccd5b5b96af200d2eb618 /kernel/trace/bpf_trace.c
parentbee955cd3ab4f1a1eb8fc16e7ed69364143df8d7 (diff)
bpf: Revert bpf_overrid_function() helper changes.
NACK'd by x86 maintainer. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/trace/bpf_trace.c')
-rw-r--r--kernel/trace/bpf_trace.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
index 1865b0d4cdeb..506efe6e8ed9 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -13,10 +13,6 @@
#include <linux/filter.h>
#include <linux/uaccess.h>
#include <linux/ctype.h>
-#include <linux/kprobes.h>
-#include <asm/kprobes.h>
-
-#include "trace_probe.h"
#include "trace.h"
u64 bpf_get_stackid(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5);
@@ -80,29 +76,6 @@ unsigned int trace_call_bpf(struct trace_event_call *call, void *ctx)
}
EXPORT_SYMBOL_GPL(trace_call_bpf);
-#ifdef CONFIG_BPF_KPROBE_OVERRIDE
-BPF_CALL_2(bpf_override_return, struct pt_regs *, regs, unsigned long, rc)
-{
- __this_cpu_write(bpf_kprobe_override, 1);
- regs_set_return_value(regs, rc);
- arch_ftrace_kprobe_override_function(regs);
- return 0;
-}
-#else
-BPF_CALL_2(bpf_override_return, struct pt_regs *, regs, unsigned long, rc)
-{
- return -EINVAL;
-}
-#endif
-
-static const struct bpf_func_proto bpf_override_return_proto = {
- .func = bpf_override_return,
- .gpl_only = true,
- .ret_type = RET_INTEGER,
- .arg1_type = ARG_PTR_TO_CTX,
- .arg2_type = ARG_ANYTHING,
-};
-
BPF_CALL_3(bpf_probe_read, void *, dst, u32, size, const void *, unsafe_ptr)
{
int ret;
@@ -578,10 +551,6 @@ static const struct bpf_func_proto *kprobe_prog_func_proto(enum bpf_func_id func
return &bpf_get_stackid_proto;
case BPF_FUNC_perf_event_read_value:
return &bpf_perf_event_read_value_proto;
- case BPF_FUNC_override_return:
- pr_warn_ratelimited("%s[%d] is installing a program with bpf_override_return helper that may cause unexpected behavior!",
- current->comm, task_pid_nr(current));
- return &bpf_override_return_proto;
default:
return tracing_func_proto(func_id);
}
@@ -797,10 +766,6 @@ int perf_event_attach_bpf_prog(struct perf_event *event,
struct bpf_prog_array *new_array;
int ret = -EEXIST;
- /* Kprobe override only works for ftrace based kprobes. */
- if (prog->kprobe_override && !trace_kprobe_ftrace(event->tp_event))
- return -EINVAL;
-
mutex_lock(&bpf_event_mutex);
if (event->prog)