diff options
| author | Alexei Starovoitov <ast@kernel.org> | 2023-04-19 21:29:39 -0700 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2023-04-19 21:29:39 -0700 |
| commit | 780c69830ec6b27e0224586ce26bc89552fcf163 (patch) | |
| tree | 5b9bba487042875f0a750a9ee91152a52783ba32 /kernel | |
| parent | 2ddade322925641ee2a75f13665c51f2e74d7791 (diff) | |
| parent | 5ff54dedf35bfee7a16eb9f8fb7ecadf7d5564cb (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.c | 8 |
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; |
