summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@kernel.org>2023-04-19 21:29:39 -0700
committerAlexei Starovoitov <ast@kernel.org>2023-04-19 21:29:39 -0700
commit780c69830ec6b27e0224586ce26bc89552fcf163 (patch)
tree5b9bba487042875f0a750a9ee91152a52783ba32 /kernel
parent2ddade322925641ee2a75f13665c51f2e74d7791 (diff)
parent5ff54dedf35bfee7a16eb9f8fb7ecadf7d5564cb (diff)
Merge branch 'Access variable length array relaxed for integer type'
Feng zhou says: ==================== From: Feng Zhou <zhoufeng.zf@bytedance.com> Add support for integer type of accessing variable length array. Add a selftest to check it. ==================== Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/bpf/btf.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
index 027f9f8a3551..a0887ee44e89 100644
--- a/kernel/bpf/btf.c
+++ b/kernel/bpf/btf.c
@@ -6157,11 +6157,13 @@ again:
if (off < moff)
goto error;
- /* Only allow structure for now, can be relaxed for
- * other types later.
- */
+ /* allow structure and integer */
t = btf_type_skip_modifiers(btf, array_elem->type,
NULL);
+
+ if (btf_type_is_int(t))
+ return WALK_SCALAR;
+
if (!btf_type_is_struct(t))
goto error;