On Sat, Feb 7, 2026 at 6:49 PM Chengkaitao <[email protected]> wrote:
>
> From: Kaitao Cheng <[email protected]>
>
> When traversing an rbtree using bpf_rbtree_left/right, if bpf_kptr_xchg
> is used to access the __kptr pointer contained in a node, it currently
> requires first removing the node with bpf_rbtree_remove and clearing the
> NON_OWN_REF flag, then re-adding the node to the original rbtree with
> bpf_rbtree_add after usage. This process significantly degrades rbtree
> traversal performance. The patch enables accessing __kptr pointers with
> the NON_OWN_REF flag set while holding the lock, eliminating the need
> for this remove-read-add sequence.
>
> Signed-off-by: Kaitao Cheng <[email protected]>
> Signed-off-by: Feng Yang <[email protected]>
> ---
>  kernel/bpf/verifier.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> index 05a6a6606b6c..bb3ff4bbb3a2 100644
> --- a/kernel/bpf/verifier.c
> +++ b/kernel/bpf/verifier.c
> @@ -9260,7 +9260,8 @@ static const struct bpf_reg_types timer_types = { 
> .types = { PTR_TO_MAP_VALUE }
>  static const struct bpf_reg_types kptr_xchg_dest_types = {
>         .types = {
>                 PTR_TO_MAP_VALUE,
> -               PTR_TO_BTF_ID | MEM_ALLOC
> +               PTR_TO_BTF_ID | MEM_ALLOC,
> +               PTR_TO_BTF_ID | MEM_ALLOC | NON_OWN_REF

add a comma, so the next patch doesn't need to add it and
has less churn.
PTR_TO_BTF_ID | MEM_ALLOC | NON_OWN_REF | MEM_RCU , <-- comma too

Also don't invent new prefixes.
Either "bpf: ..." or "selftests/bpf: ...".

pw-bot: cr

Reply via email to