Page MenuHomeFreeBSD

In g_newprovider_event() return if G_P_WITHER is set
ClosedPublic

Authored by trasz on Nov 23 2020, 1:21 PM.
Tags
None
Referenced Files
F171526211: D27330.id81292.diff
Fri, Sep 11, 2:28 PM
Unknown Object (File)
Sat, Aug 29, 1:59 AM
Unknown Object (File)
Tue, Aug 25, 10:10 AM
Unknown Object (File)
Wed, Aug 19, 12:56 PM
Unknown Object (File)
Thu, Aug 13, 9:03 PM
Unknown Object (File)
Thu, Aug 13, 2:13 PM
Unknown Object (File)
Aug 12 2026, 3:06 PM
Unknown Object (File)
Aug 11 2026, 6:43 PM
Subscribers

Details

Summary

In g_newprovider_event() return if G_P_WITHER is set.

This fixes a failed assertion in scenario where the provider
disappears, disk_gone() gets called, and at the exact same
time something else closes the device node triggering a retaste.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

trasz requested review of this revision.Nov 23 2020, 1:21 PM
trasz created this revision.

Looks good. Few places that call it also check for G_PF_WITHER, but they are using g_post_event() for it, that opens a race window.

This revision is now accepted and ready to land.Nov 23 2020, 2:42 PM