On Fri Sep 25, 2026 at 3:42 PM CEST, Nicolai Buchwitz wrote:
On 25.9.2026 15:15, Théo Lebrun wrote:
quoted
register_netdev() exposes the interface to userspace which might
trigger
operations like close on it. Those access the HRESP/LPI tasks and
might therefore use them uninitialised.
Fix this race by initialising both `struct work_struct` before
register_netdev().
Theoretical bugfix. The main reason for fix is to avoid future Sashiko
reports which triggers if we grow the race condition (by touching those
workqueues at open for example). The likeliness of this bug sounds
tiny, but I've not spent any time trying to reproduce it.
Fixes: c5092ba3155e ("net: macb: Convert tasklet API to new bottom half
workqueue mechanism")
IMHO the "bug" was introduced in 032dc41ba6e2? But this would generate
more
backporting without any real use. So let's keep it as is.
I used this command to find the introduction of hresp_err_bh_work and
didn't notice it was only a tasklet to workqueue conversion patch.
You are correct.
git log --oneline -Shresp_err_bh_work drivers/net/ethernet/cadence/
Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de>
Thanks!
--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com