Re: [PATCH net 1/3] net: macb: never give hardware a NULL RX buffer

From: Théo Lebrun

Date: Thu Sep 24 2026 - 11:21:01 EST


Hello Jakub,

On Thu Sep 24, 2026 at 3:47 AM CEST, Jakub Kicinski wrote:
> On Tue, 22 Sep 2026 20:37:00 +0000 netdev-bot+sashiko@xxxxxxxxxx wrote:
>> - [High] gem_init_rx_ring()
>> (drivers/net/ethernet/cadence/macb_main.c:2793) now sets…
>> - [High] gem_init_rx_ring() now publishes MACB_BIT(RX_USED) on every RX
>> descriptor of a queue, resets queue->rx_tail/rx_prepared_head and then…
>
> If the AI interprets the rx poll side correctly these seem like a major
> flaw in setting the USED bit :(

Yes the AI is correct (unsurprisingly). But two things:
- before this patch what happened was that HW read the NULL descriptor,
so not much better
- we can detect in gem_rx() using our ring buffer cursors that tell us
what we've managed to allocate, that we gem_rx() doesn't iterate
over descriptors that haven't been allocated

Thanks,

--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com