On Thu, 4 Jul 2019 18:03:01 +0200 Oleg Nesterov <oleg@xxxxxxxxxx> wrote: > swap_readpage() sets waiter = bio->bi_private even if synchronous = F, > this means that the caller can get the spurious wakeup after return. This > can be fatal if blk_wake_io_task() does set_current_state(TASK_RUNNING) > after the caller does set_special_state(), in the worst case the kernel > can crash in do_task_dead(). I think we need a Fixes: and a cc:stable here? IIRC, we're fixing 0619317ff8baa2 ("block: add polled wakeup task helper").