diff options
| author | Andrii Nakryiko <andrii@kernel.org> | 2023-03-22 09:31:05 -0700 |
|---|---|---|
| committer | Andrii Nakryiko <andrii@kernel.org> | 2023-03-22 09:31:06 -0700 |
| commit | d9d93f3b61434bc18ec905eaad224407cce1a9e2 (patch) | |
| tree | 4a2a93b5aebe1bb40668ddca8bc24a344f6a2571 /kernel/bpf/verifier.c | |
| parent | 9a321fd3308e262f2a76761bea86dd0f311e3f86 (diff) | |
| parent | 3b2ec2140fa27febb21034943d656898b659dc02 (diff) | |
Merge branch 'bpf: Support ksym detection in light skeleton.'
Alexei Starovoitov says:
====================
From: Alexei Starovoitov <ast@kernel.org>
v1->v2: update denylist on s390
Patch 1: Cleanup internal libbpf names.
Patch 2: Teach the verifier that rdonly_mem != NULL.
Patch 3: Fix gen_loader to support ksym detection.
Patch 4: Selftest and update denylist.
====================
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Diffstat (limited to 'kernel/bpf/verifier.c')
| -rw-r--r-- | kernel/bpf/verifier.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 8bc44f5dc5b6..5693e4a92752 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -486,8 +486,17 @@ static bool type_is_sk_pointer(enum bpf_reg_type type) type == PTR_TO_XDP_SOCK; } +static bool type_may_be_null(u32 type) +{ + return type & PTR_MAYBE_NULL; +} + static bool reg_type_not_null(enum bpf_reg_type type) { + if (type_may_be_null(type)) + return false; + + type = base_type(type); return type == PTR_TO_SOCKET || type == PTR_TO_TCP_SOCK || type == PTR_TO_MAP_VALUE || @@ -531,11 +540,6 @@ static bool type_is_rdonly_mem(u32 type) return type & MEM_RDONLY; } -static bool type_may_be_null(u32 type) -{ - return type & PTR_MAYBE_NULL; -} - static bool is_acquire_function(enum bpf_func_id func_id, const struct bpf_map *map) { |
