diff options
author | Eduard Zingerman <eddyz87@gmail.com> | 2025-07-04 16:03:48 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2025-07-07 08:25:06 -0700 |
commit | 2d5c91e1cc14c3511d163ac36ee869ecf3a29cc2 (patch) | |
tree | ed64783a3c0c40d6449ef7ccd0218e72f4483a72 /scripts/lib/kdoc/kdoc_re.py | |
parent | b9d44bc9fd30550052d0854d71b0c0731dc9f053 (diff) |
bpf: rdonly_untrusted_mem for btf id walk pointer leafs
When processing a load from a PTR_TO_BTF_ID, the verifier calculates
the type of the loaded structure field based on the load offset.
For example, given the following types:
struct foo {
struct foo *a;
int *b;
} *p;
The verifier would calculate the type of `p->a` as a pointer to
`struct foo`. However, the type of `p->b` is currently calculated as a
SCALAR_VALUE.
This commit updates the logic for processing PTR_TO_BTF_ID to instead
calculate the type of p->b as PTR_TO_MEM|MEM_RDONLY|PTR_UNTRUSTED.
This change allows further dereferencing of such pointers (using probe
memory instructions).
Suggested-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20250704230354.1323244-3-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_re.py')
0 files changed, 0 insertions, 0 deletions