Re: [syzbot] [bpf?] [net?] WARNING in skb_ensure_writable

From: Florian Westphal
Date: Mon Apr 22 2024 - 10:53:18 EST


Eric Dumazet <edumazet@xxxxxxxxxx> wrote:
> Hmm... Not sure how to deal with this one... this is a 'false positive'
>
> diff --git a/net/core/filter.c b/net/core/filter.c
> index 58e8e1a70aa752a2c045117e00d8797478da4738..a7cea6d717ef321215bc4cf9ab3b83535c4eec98
> 100644
> --- a/net/core/filter.c
> +++ b/net/core/filter.c
> @@ -1662,6 +1662,11 @@ static DEFINE_PER_CPU(struct bpf_scratchpad, bpf_sp);
> static inline int __bpf_try_make_writable(struct sk_buff *skb,
> unsigned int write_len)
> {
> +#if defined(CONFIG_DEBUG_NET)
> + /* Avoid a splat in pskb_may_pull_reason() */
> + if (write_len > INT_MAX)
> + return -EINVAL;
> +#endif
> return skb_ensure_writable(skb, write_len);
> }
>

LGTM, thanks Eric. I think the current 'warn on > INT_MAX' makes sense
for normal (non-bpf) callers.