Page MenuHomeFreeBSD

miibus: Use a bus_child_deleted method to free ivars for children
ClosedPublic

Authored by jhb on Oct 31 2024, 8:36 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Aug 16, 11:27 PM
Unknown Object (File)
Sun, Aug 16, 9:49 PM
Unknown Object (File)
Sun, Aug 16, 8:45 PM
Unknown Object (File)
Sat, Aug 15, 9:01 PM
Unknown Object (File)
Sat, Aug 15, 7:50 PM
Unknown Object (File)
Sat, Aug 15, 1:15 AM
Unknown Object (File)
Fri, Aug 14, 9:29 PM
Unknown Object (File)
Fri, Aug 14, 8:45 PM
Subscribers
None

Details

Summary

If a device was detached (e.g. via devctl) and then re-attached, the
ivars would be freed by the previous bus_child_detached method during
detach, but device_get_ivars during the subsequent attach would return
a stale pointer resulting in a use after free.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 60308
Build 57192: arc lint + arc unit