Skip to content

Commit

Permalink
bpf: Fix bpf_dynptr_slice{_rdwr} to return NULL instead of 0
Browse files Browse the repository at this point in the history
Change bpf_dynptr_slice and bpf_dynptr_slice_rdwr to return NULL instead
of 0, in accordance with the codebase guidelines.

Fixes: 66e3a13 ("bpf: Add bpf_dynptr_slice and bpf_dynptr_slice_rdwr")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20230302053014.1726219-1-joannelkoong@gmail.com
  • Loading branch information
Joanne Koong authored and Andrii Nakryiko committed Mar 2, 2023
1 parent b1d462b commit c45eac5
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions kernel/bpf/helpers.c
Original file line number Diff line number Diff line change
Expand Up @@ -2227,11 +2227,11 @@ __bpf_kfunc void *bpf_dynptr_slice(const struct bpf_dynptr_kern *ptr, u32 offset
int err;

if (!ptr->data)
return 0;
return NULL;

err = bpf_dynptr_check_off_len(ptr, offset, len);
if (err)
return 0;
return NULL;

type = bpf_dynptr_get_type(ptr);

Expand All @@ -2252,7 +2252,7 @@ __bpf_kfunc void *bpf_dynptr_slice(const struct bpf_dynptr_kern *ptr, u32 offset
}
default:
WARN_ONCE(true, "unknown dynptr type %d\n", type);
return 0;
return NULL;
}
}

Expand Down Expand Up @@ -2300,7 +2300,7 @@ __bpf_kfunc void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr_kern *ptr, u32 o
void *buffer, u32 buffer__szk)
{
if (!ptr->data || bpf_dynptr_is_rdonly(ptr))
return 0;
return NULL;

/* bpf_dynptr_slice_rdwr is the same logic as bpf_dynptr_slice.
*
Expand Down

0 comments on commit c45eac5

Please sign in to comment.