]> git.baikalelectronics.ru Git - kernel.git/commit
bpf: Fix race in btf_resolve_helper_id()
authorAlexei Starovoitov <ast@kernel.org>
Thu, 14 Nov 2019 18:57:14 +0000 (10:57 -0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 15 Nov 2019 22:44:20 +0000 (23:44 +0100)
commit3b55933d644eaafff926940cbfe0ad582fd672fc
tree36be1bd2c248be20e0688560b3b678357807444e
parente231f38fcc9ba1a2a755f3551b96e7dc61717048
bpf: Fix race in btf_resolve_helper_id()

btf_resolve_helper_id() caching logic is a bit racy, since under root the
verifier can verify several programs in parallel. Fix it with READ/WRITE_ONCE.
Fix the type as well, since error is also recorded.

Fixes: 0732c2a54e5c ("bpf: Check types of arguments passed into helpers")
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Song Liu <songliubraving@fb.com>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20191114185720.1641606-15-ast@kernel.org
include/linux/bpf.h
kernel/bpf/btf.c
kernel/bpf/verifier.c
net/core/filter.c