public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net v2 0/2] stmmac crash/stall fixes when under memory pressure
@ 2026-03-19 18:40 Sam Edwards
  2026-03-19 18:40 ` [PATCH net v2 1/2] net: stmmac: Prevent NULL deref when RX memory exhausted Sam Edwards
  2026-03-19 18:40 ` [PATCH net v2 2/2] net: stmmac: Prevent indefinite RX stall on buffer exhaustion Sam Edwards
  0 siblings, 2 replies; 5+ messages in thread
From: Sam Edwards @ 2026-03-19 18:40 UTC (permalink / raw)
  To: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni
  Cc: Russell King, Maxime Chevallier, Ovidiu Panait, Vladimir Oltean,
	Baruch Siach, Serge Semin, netdev, linux-arm-kernel, linux-kernel,
	Sam Edwards

Hi netdev,

This is v2 of my series containing a pair of bugfixes for the stmmac driver's
receive pipeline. These issues occur when stmmac_rx_refill() does not (fully)
succeed, which happens more frequently when free memory is low.

The first patch closes Bugzilla bug #221010 [1], where stmmac_rx() can circle
around to a still-dirty descriptor (with a NULL buffer pointer), mistake it for
a filled descriptor (due to OWN=0), and attempt to dereference the buffer.

In testing that patch, I discovered a second issue: starvation of available RX
buffers causes the NIC to stop sending interrupts; if the driver stops polling,
it will wait indefinitely for an interrupt that will never come. (Note: the
first patch makes this issue more prominent -- mostly because it lets the
system survive long enough to exhibit it -- but doesn't *cause* it.) The second
patch addresses that problem as well.

Both patches are minimal, appropriate for stable, and designated to `net`.

Regards,
Sam

[1] https://bugzilla.kernel.org/show_bug.cgi?id=221010

v2:
- Completely rewrote the commit message of patch 1, now assuming the reader is
  generally familiar with DMA but wholly unfamiliar with the stmmac device
  (thanks Jakub!)
- Added missing `Fixes:` to patch 2
- Moved patch 2's `int budget = limit;` decl per the reverse-xmas-tree rule
- Dropped patch 3: this was a code improvement not appropriate for stable
- Generated the series with --subject-prefix='PATCH net'
v1: https://lore.kernel.org/netdev/20260316021009.262358-1-CFSworks@gmail.com/

Sam Edwards (2):
  net: stmmac: Prevent NULL deref when RX memory exhausted
  net: stmmac: Prevent indefinite RX stall on buffer exhaustion

 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

-- 
2.52.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-03-20  1:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-19 18:40 [PATCH net v2 0/2] stmmac crash/stall fixes when under memory pressure Sam Edwards
2026-03-19 18:40 ` [PATCH net v2 1/2] net: stmmac: Prevent NULL deref when RX memory exhausted Sam Edwards
2026-03-19 21:59   ` Russell King (Oracle)
2026-03-20  1:11     ` Sam Edwards
2026-03-19 18:40 ` [PATCH net v2 2/2] net: stmmac: Prevent indefinite RX stall on buffer exhaustion Sam Edwards

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox