John Fastabend f470378c75 bpf: Extend bpf_base_func_proto helpers with probe_* and *current_task*
Often it is useful when applying policy to know something about the
task. If the administrator has CAP_SYS_ADMIN rights then they can
use kprobe + networking hook and link the two programs together to
accomplish this. However, this is a bit clunky and also means we have
to call both the network program and kprobe program when we could just
use a single program and avoid passing metadata through sk_msg/skb->cb,
socket, maps, etc.

To accomplish this add probe_* helpers to bpf_base_func_proto programs
guarded by a perfmon_capable() check. New supported helpers are the
following,

 BPF_FUNC_get_current_task
 BPF_FUNC_probe_read_user
 BPF_FUNC_probe_read_kernel
 BPF_FUNC_probe_read_user_str
 BPF_FUNC_probe_read_kernel_str

Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/159033905529.12355.4368381069655254932.stgit@john-Precision-5820-Tower
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2020-06-01 14:38:20 -07:00
..
2020-04-03 13:12:26 -07:00
2019-11-27 11:42:01 -08:00
2019-12-18 18:07:31 +01:00
\n
2020-04-06 08:58:42 -07:00
2020-03-30 18:06:39 -07:00
2020-03-21 16:00:24 +01:00
2020-01-08 16:32:55 +00:00
2020-03-21 18:56:06 -07:00
2020-01-14 12:20:48 +01:00
2020-05-05 11:59:32 -07:00
2019-12-04 15:18:39 +01:00
2020-03-30 18:06:39 -07:00
2019-12-18 18:07:31 +01:00