diff options
| author | Nick Price <nprice@FreeBSD.org> | 2026-08-08 06:17:16 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-14 22:08:36 +0000 |
| commit | ba353c8950d575f9d15b82c92658e660935fba25 (patch) | |
| tree | c1a8be6735503ac6ee947b4e26651174aee70337 /source/components/resources/(public-mirror) | |
| parent | 90e7dbe5e2ca47baff4e4c6d9e892a0554eec4db (diff) | |
iflib_device_deregister() sets IFC_IN_DETACH before removing the
interface, but a task which already passed its detach check can still
report a link change. This can re-arm if_linktask after
ether_ifdetach() has drained it and leave work pending across queue
teardown.
Drain the entire private taskqueue before ether_ifdetach(). Drivers
may register their own link-related configuration tasks there, so
draining only the framework admin task leaves the same race for those
drivers.
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D58452
Co-authored-by: Andrew Gallatin <gallatin@FreeBSD.org>
Co-authored-by: Kevin Bowling <kbowling@FreeBSD.org>
Diffstat (limited to 'source/components/resources/(public-mirror)')
0 files changed, 0 insertions, 0 deletions
