Daniel Borkmann 5b029a32cf bpf: Fix ringbuf helper function compatibility
Commit 457f44363a88 ("bpf: Implement BPF ring buffer and verifier support
for it") extended check_map_func_compatibility() by enforcing map -> helper
function match, but not helper -> map type match.

Due to this all of the bpf_ringbuf_*() helper functions could be used with
a wrong map type such as array or hash map, leading to invalid access due
to type confusion.

Also, both BPF_FUNC_ringbuf_{submit,discard} have ARG_PTR_TO_ALLOC_MEM as
argument and not a BPF map. Therefore, their check_map_func_compatibility()
presence is incorrect since it's only for map type checking.

Fixes: 457f44363a88 ("bpf: Implement BPF ring buffer and verifier support for it")
Reported-by: Ryota Shiga (Flatt Security)
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
2021-08-23 23:09:10 +02:00
..
2021-04-27 18:14:38 -07:00
2021-06-29 12:07:18 -07:00
2021-06-10 20:59:05 -04:00
2021-08-11 13:11:12 -07:00
2021-06-18 11:43:08 +02:00
2021-06-28 11:45:29 -07:00
2021-05-07 00:26:33 -07:00
2021-07-11 11:06:09 -07:00
2020-12-14 16:40:27 -08:00
2020-12-17 13:01:31 -08:00
2020-12-14 16:40:27 -08:00
2021-06-18 11:43:09 +02:00
2020-07-27 14:31:12 -04:00
2020-12-01 10:30:28 +00:00
2021-06-18 11:43:07 +02:00
2021-05-07 00:26:34 -07:00
2020-08-19 14:13:20 +02:00