]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: fix race condition when sq threads goes sleeping
authorStefan Bühler <source@stbuehler.de>
Fri, 19 Apr 2019 09:57:45 +0000 (11:57 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 22 Apr 2019 17:00:56 +0000 (11:00 -0600)
commit52583b080bfdb21cf1eda49bb283a99ead388fd4
tree9c6bd0dd0456a51080c7ed95350768452385aecb
parent095e60c01700d458b374fc1391dcd683b2636938
io_uring: fix race condition when sq threads goes sleeping

Reading the SQ tail needs to come after setting IORING_SQ_NEED_WAKEUP in
flags; there is no cheap barrier for ordering a store before a load, a
full memory barrier is required.

Userspace needs a full memory barrier between updating SQ tail and
checking for the IORING_SQ_NEED_WAKEUP too.

Signed-off-by: Stefan Bühler <source@stbuehler.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c