summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorDave Marchevsky <davemarchevsky@fb.com>2023-07-18 11:38:09 +0300
committerAlexei Starovoitov <ast@kernel.org>2023-07-19 03:23:10 +0300
commit0a1f7bfe35a3e1302529fa900bf0574a5dfc8ea6 (patch)
tree4d404588e36745238df0fcd16921c20afda6a041 /include/uapi
parent60cc1f7d0605598b47ee3c0c2b4b6fbd4da50a06 (diff)
downloadlinux-0a1f7bfe35a3e1302529fa900bf0574a5dfc8ea6.tar.xz
bpf: Introduce internal definitions for UAPI-opaque bpf_{rb,list}_node
Structs bpf_rb_node and bpf_list_node are opaquely defined in uapi/linux/bpf.h, as BPF program writers are not expected to touch their fields - nor does the verifier allow them to do so. Currently these structs are simple wrappers around structs rb_node and list_head and linked_list / rbtree implementation just casts and passes to library functions for those data structures. Later patches in this series, though, will add an "owner" field to bpf_{rb,list}_node, such that they're not just wrapping an underlying node type. Moreover, the bpf linked_list and rbtree implementations will deal with these owner pointers directly in a few different places. To avoid having to do void *owner = (void*)bpf_list_node + sizeof(struct list_head) with opaque UAPI node types, add bpf_{list,rb}_node_kern struct definitions to internal headers and modify linked_list and rbtree to use the internal types where appropriate. Signed-off-by: Dave Marchevsky <davemarchevsky@fb.com> Link: https://lore.kernel.org/r/20230718083813.3416104-3-davemarchevsky@fb.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'include/uapi')
0 files changed, 0 insertions, 0 deletions