io_uring: wait queue handler ring wakeup clear must be irq saving
authorJens Axboe <axboe@kernel.dk>
Thu, 10 Sep 2020 17:48:46 +0000 (11:48 -0600)
committerJens Axboe <axboe@kernel.dk>
Fri, 11 Sep 2020 10:59:17 +0000 (04:59 -0600)
commit46c830a2452c348bacec0edf1cb45b37e3058b2a
treeaee212ea6dd4096f03f2e225c7f74779fe10c7e0
parent767ad8101329e892b42ed9651f5a9d99ea246e55
io_uring: wait queue handler ring wakeup clear must be irq saving

With the moving of the ring wakeup clear inside the waitqueue handler, we
need to use IRQ disabling versions of the spin locking functions when
grabbing the completion lock. Otherwise we end up enabling IRQs
spuriously.

Fixes: b1abe842d31e ("io_uring: move SQPOLL post-wakeup ring need wakeup flag into wake handler")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c