Module Name: src Committed By: riastradh Date: Sat Jun 12 12:14:03 UTC 2021
Modified Files: src/sys/kern: kern_drvctl.c Log Message: drvctl(4): Hold a deviter while issuing config_detach. Otherwise another concurrent detach -- e.g., from concurrent drvctl or from USB port disconnection -- can pull the device_t out from under us. XXX Need to do this for _every_ operation config_* operation on a device_t; device_find_by_xname is just fundamentally broken because a concurrent detach can pull the device_t rug out from under you. We really need another mechanism for holding a weak reference to a device, and temporarily getting a strong reference to it; abusing deviter is a bit of a kludge, and doesn't work very well because it doesn't properly trigger garbage collection of devices detached while other concurrent deviters are pending. To generate a diff of this commit: cvs rdiff -u -r1.47 -r1.48 src/sys/kern/kern_drvctl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.