twx-linux/tools/include/uapi/linux
Alexei Starovoitov a7658e1a41 bpf: Check types of arguments passed into helpers
Introduce new helper that reuses existing skb perf_event output
implementation, but can be called from raw_tracepoint programs
that receive 'struct sk_buff *' as tracepoint argument or
can walk other kernel data structures to skb pointer.

In order to do that teach verifier to resolve true C types
of bpf helpers into in-kernel BTF ids.
The type of kernel pointer passed by raw tracepoint into bpf
program will be tracked by the verifier all the way until
it's passed into helper function.
For example:
kfree_skb() kernel function calls trace_kfree_skb(skb, loc);
bpf programs receives that skb pointer and may eventually
pass it into bpf_skb_output() bpf helper which in-kernel is
implemented via bpf_skb_event_output() kernel function.
Its first argument in the kernel is 'struct sk_buff *'.
The verifier makes sure that types match all the way.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20191016032505.2089704-11-ast@kernel.org
2019-10-17 16:44:36 +02:00
..
tc_act net: Move all TC actions identifiers to one place 2019-02-10 09:28:43 -08:00
bpf_common.h bpf: Sync kernel ABI header with tooling header for bpf_common.h 2018-02-09 00:24:38 +01:00
bpf_perf_event.h selftests/bpf: sync kernel headers and introduce arch support in Makefile 2017-12-05 15:02:41 +01:00
bpf.h bpf: Check types of arguments passed into helpers 2019-10-17 16:44:36 +02:00
btf.h tools/bpf: Sync kernel btf.h header 2019-05-14 10:06:23 +02:00
const.h tools headers: Grab copy of linux/const.h, needed by linux/bits.h 2019-08-20 12:08:23 -03:00
erspan.h tools, include: Grab a copy of linux/erspan.h 2018-04-30 17:56:24 +02:00
ethtool.h libbpf: add support for using AF_XDP sockets 2019-02-25 23:21:42 +01:00
fadvise.h tools headers uapi: Grab a copy of fadvise.h 2018-12-18 16:17:40 -03:00
fcntl.h tools include UAPI: Update copy of files related to new fspick, fsmount, fsconfig, fsopen, move_mount and open_tree syscalls 2019-05-28 09:49:03 -03:00
fs.h fs: Reserve flag for casefolding 2019-08-23 07:57:12 -07:00
hw_breakpoint.h tools/headers: Synchronize kernel ABI headers 2017-11-04 09:27:46 +01:00
if_link.h tools headers UAPI: Sync if_link.h with the kernel 2019-07-29 09:03:43 -03:00
if_tun.h selftests/bpf: fix compilation error for flow_dissector.c 2019-05-29 15:15:07 +02:00
if_xdp.h libbpf: add flags to umem config 2019-08-31 01:08:26 +02:00
in.h tools headers uapi: Update linux/in.h copy 2019-03-11 16:13:05 -03:00
kcmp.h tools headers: Synchronize kernel ABI headers wrt SPDX tags 2017-11-28 14:29:20 -03:00
kvm.h perf/urgent fixes: 2019-07-29 23:24:07 +02:00
lirc.h media: rc: rcmm decoder and encoder 2019-02-18 15:39:49 -05:00
mman.h tools headers uapi: Sync asm-generic/mman-common.h and linux/mman.h 2019-03-28 14:31:56 -03:00
mount.h tools include UAPI: Update copy of files related to new fspick, fsmount, fsconfig, fsopen, move_mount and open_tree syscalls 2019-05-28 09:49:03 -03:00
netlink.h net: netlink: rename NETLINK_DUMP_STRICT_CHK -> NETLINK_GET_STRICT_CHK 2018-12-14 11:44:31 -08:00
perf_event.h perf tools: Add aux_output attribute flag 2019-08-14 10:59:59 -03:00
pkt_cls.h net: sched: remove NET_CLS_IND config option 2019-06-15 14:06:13 -07:00
pkt_sched.h bpf: pull in pkt_sched.h header for tooling to fix bpftool build 2019-01-18 15:16:36 -08:00
prctl.h tools headers uapi: Sync prctl.h with the kernel sources 2019-09-20 14:59:05 -03:00
sched.h tools headers UAPI: Sync sched.h with the kernel 2019-07-29 09:03:43 -03:00
seg6_local.h selftests/bpf: missing headers test_lwt_seg6local 2018-05-28 17:41:00 +02:00
seg6.h selftests/bpf: missing headers test_lwt_seg6local 2018-05-28 17:41:00 +02:00
stat.h tools/headers: Synchronize kernel ABI headers 2017-11-04 09:27:46 +01:00
tls.h bpf, tls: add tls header to tools infrastructure 2018-10-16 08:10:01 -07:00
usbdevice_fs.h tools headers UAPI: Sync usbdevice_fs.h with the kernels to get new ioctl 2019-07-29 09:03:43 -03:00
vhost.h tools include uapi: Sync linux/vhost.h with the kernel sources 2019-01-08 14:09:33 -03:00