Module Name: src Committed By: riastradh Date: Fri Apr 21 18:30:32 UTC 2023
Modified Files: src/sys/dev/dkwedge: dk.c Log Message: dk(4): Fix callout detach race. 1. Set a flag sc_iostop under the lock sc_iolock so dkwedge_detach and dkstart don't race over it. 2. Decline to schedule the callout if sc_iostop is set. The callout is already only ever scheduled while the lock is held. 3. Use callout_halt to wait for any concurrent callout to complete. At this point, it can't reschedule itself. Without this change, the callout could be concurrently rescheduling itself as we issue callout_stop, leading to use-after-free later. To generate a diff of this commit: cvs rdiff -u -r1.141 -r1.142 src/sys/dev/dkwedge/dk.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.