bpf: Add bpf_dynptr_from_mem for local dynptrs
authorJoanne Koong <joannelkoong@gmail.com>
Mon, 23 May 2022 21:07:08 +0000 (14:07 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Mon, 23 May 2022 21:31:24 +0000 (14:31 -0700)
commit263ae152e96253f40c2c276faad8629e096b3bad
tree85bd51d3eaedd4ea9e10f886f7c2d145d3f25246
parent97e03f521050c092919591e668107b3d69c5f426
bpf: Add bpf_dynptr_from_mem for local dynptrs

This patch adds a new api bpf_dynptr_from_mem:

long bpf_dynptr_from_mem(void *data, u32 size, u64 flags, struct bpf_dynptr *ptr);

which initializes a dynptr to point to a bpf program's local memory. For now
only local memory that is of reg type PTR_TO_MAP_VALUE is supported.

Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220523210712.3641569-3-joannelkoong@gmail.com
include/uapi/linux/bpf.h
kernel/bpf/helpers.c
kernel/bpf/verifier.c
tools/include/uapi/linux/bpf.h