Module Name: src Committed By: riastradh Date: Tue Sep 13 09:43:33 UTC 2022
Modified Files: src/sys/kern: subr_autoconf.c src/sys/sys: device_impl.h Log Message: autoconf(9): New diagnostic to detect double-detach. - Rename dv_detached -> dv_detach_committed. - Add dv_detach_done, asserted false and then set in config_detach. dv_detach_done may appear redundant with dv_del_gen, but dv_del_gen will be used to safely detect config_detach on two valid references to a device (e.g., a bus detaching its child concurrently with drvctl detaching the same child), while dv_detach_done is strictly a diagnostic to detect races in the config_detach API. Currently the config_detach API itself is unsafe, but we can add a config_detach_release function that simultaneously releases and detaches a referenced device_t; this will continue to use dv_del_gen to safely avoid multiple detach, and dv_detach_done to check for races in usage. To generate a diff of this commit: cvs rdiff -u -r1.305 -r1.306 src/sys/kern/subr_autoconf.c cvs rdiff -u -r1.4 -r1.5 src/sys/sys/device_impl.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.