Re: [PATCH net] nfp: bpf: prevent integer overflow in nfp_bpf_event_output()

Alexander Lobakin
2025-01-14T17:18:01Z

From: Dan Carpenter <dan.carpenter@linaro.org>
Date: Tue, 14 Jan 2025 13:45:04 +0300

> [ I tried to send this email yesterday but apparently gmail blocked
> it for security reasons? So weird. - dan ]
>
> On Mon, Jan 13, 2025 at 01:32:11PM +0100, Alexander Lobakin wrote:
>> From: Dan Carpenter <dan.carpenter@linaro.org>
>> Date: Mon, 13 Jan 2025 09:18:39 +0300
>>
>>> The "sizeof(struct cmsg_bpf_event) + pkt_size + data_size" math could
>>> potentially have an integer wrapping bug on 32bit systems. Check for
>>
>> Not in practice I suppose? Do we need to fix "never" bugs?
>>
>
> No, this is from static analysis. We don't need to fix never bugs.
>
> This is called from nfp_bpf_ctrl_msg_rx() and nfp_bpf_ctrl_msg_rx_raw()
> and I assumed that since pkt_size and data_size come from skb->data on
> the rx path then they couldn't be trusted.

skbs are always valid and skb->len could never cross INT_MAX to provoke
an overflow.

>
> Where is the bounds checking?
>
> regards,
> dan carpenter

Thanks,
Olek