aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/gcc-plugins/structleak_plugin.c
diff options
context:
space:
mode:
authorJens Axboe <[email protected]>2021-02-24 02:59:06 +0000
committerJens Axboe <[email protected]>2021-02-24 03:33:41 +0000
commiteb2de9418d56b5e6ebf27bad51dbce3e22ee109b (patch)
treeca26faeedb21d7d419bbd5e4c809dd82516ca4da /scripts/gcc-plugins/structleak_plugin.c
parentio-wq: fix races around manager/worker creation and task exit (diff)
downloadkernel-eb2de9418d56b5e6ebf27bad51dbce3e22ee109b.tar.gz
kernel-eb2de9418d56b5e6ebf27bad51dbce3e22ee109b.zip
io-wq: fix race around io_worker grabbing
There's a small window between lookup dropping the reference to the worker and calling wake_up_process() on the worker task, where the worker itself could have exited. We ensure that the worker struct itself is valid, but worker->task may very well be gone by the time we issue the wakeup. Fix the race by using a completion triggered by the reference going to zero, and having exit wait for that completion before proceeding. Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'scripts/gcc-plugins/structleak_plugin.c')
0 files changed, 0 insertions, 0 deletions