Re: [PATCH v2 1/3] bpf: Allow NULL buffers in bpf_dynptr_slice(_rw)

From: Jakub Kicinski
Date: Tue Jul 18 2023 - 11:26:24 EST


On Mon, 1 May 2023 17:52:16 -0700 Daniel Rosenberg wrote:
> --- a/include/linux/skbuff.h
> +++ b/include/linux/skbuff.h
> @@ -4033,7 +4033,7 @@ __skb_header_pointer(const struct sk_buff *skb, int offset, int len,
> if (likely(hlen - offset >= len))
> return (void *)data + offset;
>
> - if (!skb || unlikely(skb_copy_bits(skb, offset, buffer, len) < 0))
> + if (!skb || !buffer || unlikely(skb_copy_bits(skb, offset, buffer, len) < 0))
> return NULL;

First off - please make sure you CC netdev on changes to networking!

Please do not add stupid error checks to core code for BPF safety.
Wrap the call if you can't guarantee that value is sane, this is
a very bad precedent.