summaryrefslogtreecommitdiffstats
path: root/include/linux/tracepoint-defs.h
diff options
context:
space:
mode:
authorMatt Mullins2019-04-26 20:49:47 +0200
committerAlexei Starovoitov2019-04-27 04:04:19 +0200
commit9df1c28bb75217b244257152ab7d788bb2a386d0 (patch)
tree7fe10ffd9b59716b52b992f5663ec8b5102406b6 /include/linux/tracepoint-defs.h
parentbpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd (diff)
downloadkernel-qcow2-linux-9df1c28bb75217b244257152ab7d788bb2a386d0.tar.gz
kernel-qcow2-linux-9df1c28bb75217b244257152ab7d788bb2a386d0.tar.xz
kernel-qcow2-linux-9df1c28bb75217b244257152ab7d788bb2a386d0.zip
bpf: add writable context for raw tracepoints
This is an opt-in interface that allows a tracepoint to provide a safe buffer that can be written from a BPF_PROG_TYPE_RAW_TRACEPOINT program. The size of the buffer must be a compile-time constant, and is checked before allowing a BPF program to attach to a tracepoint that uses this feature. The pointer to this buffer will be the first argument of tracepoints that opt in; the pointer is valid and can be bpf_probe_read() by both BPF_PROG_TYPE_RAW_TRACEPOINT and BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE programs that attach to such a tracepoint, but the buffer to which it points may only be written by the latter. Signed-off-by: Matt Mullins <mmullins@fb.com> Acked-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'include/linux/tracepoint-defs.h')
-rw-r--r--include/linux/tracepoint-defs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/tracepoint-defs.h b/include/linux/tracepoint-defs.h
index 49ba9cde7e4b..b29950a19205 100644
--- a/include/linux/tracepoint-defs.h
+++ b/include/linux/tracepoint-defs.h
@@ -45,6 +45,7 @@ struct bpf_raw_event_map {
struct tracepoint *tp;
void *bpf_func;
u32 num_args;
+ u32 writable_size;
} __aligned(32);
#endif