Re: [PATCH 1/2] bpf: Fix warning of Using plain integer as NULL pointer

Kumar Kartikeya Dwivedi
2022-09-03T19:11:14Z

On Sat, 3 Sept 2022 at 20:59, Jules Irenge <jbi.octave@gmail.com> wrote:
>
> This patch fixes a warning generated by Sparse
>
> "Using plain integer as NULL pointer"
>
> by replacing the offending 0 by NULL.
>
> Signed-off-by: Jules Irenge <jbi.octave@gmail.com>
> ---
> kernel/bpf/syscall.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
> index 27760627370d..427b7e3829e0 100644
> --- a/kernel/bpf/syscall.c
> +++ b/kernel/bpf/syscall.c
> @@ -598,7 +598,7 @@ void bpf_map_free_kptrs(struct bpf_map *map, void *map_value)
> if (off_desc->type == BPF_KPTR_UNREF) {
> u64 *p = (u64 *)btf_id_ptr;
>
> - WRITE_ONCE(p, 0);
> + WRITE_ONCE(p, NULL);

Uff, this should have been WRITE_ONCE(*p, 0) instead. Mea Culpa.
Can you make that fix? It's not a big problem since it's just that the
pointer won't be cleared on map value delete (and there is nothing to
reclaim for the unref case when map is freed), so you can target
bpf-next with a Fixes tag.

So in your patch you will need [PATCH bpf-next] in the subject and the
fixes tag would be:
Fixes: 14a324f6a67e ("bpf: Wire up freeing of referenced kptr")