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)
Mon, Mar 31, 8:06 AM
Unknown Object (File)
Mon, Mar 31, 8:06 AM
Unknown Object (File)
Fri, Mar 28, 1:47 PM
Unknown Object (File)
Sat, Mar 22, 6:32 PM
Unknown Object (File)
Mar 13 2025, 4:10 AM
Unknown Object (File)
Feb 10 2025, 5:19 PM
Unknown Object (File)
Feb 10 2025, 3:31 PM
Unknown Object (File)
Feb 10 2025, 8:40 AM
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