From 5e30d9a40391a6b8b89617b7cfbdfeb509a7aedf Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Mon, 16 Sep 2019 17:20:48 +0800 Subject: [PATCH] rq-qos: set ourself TASK_UNINTERRUPTIBLE after we schedule mainline inclusion from mainline-5.3-rc2 commit d14a9b389a86a5154b704bc88ce8dd37c701456a category: bugfix bugzilla: 21211 CVE: NA --------------------------- In case we get a spurious wakeup we need to make sure to re-set ourselves to TASK_UNINTERRUPTIBLE so we don't busy wait. Reviewed-by: Oleg Nesterov Signed-off-by: Josef Bacik Signed-off-by: Jens Axboe Conflicts: block/blk-rq-qos.c [yan: the code was in __wbt_wait()] Signed-off-by: Jason Yan Reviewed-by: Yufen Yu Signed-off-by: Yang Yingliang --- block/blk-wbt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/blk-wbt.c b/block/blk-wbt.c index 4350b373a425..0d74787859e0 100644 --- a/block/blk-wbt.c +++ b/block/blk-wbt.c @@ -570,6 +570,7 @@ static void __wbt_wait(struct rq_wb *rwb, enum wbt_flags wb_acct, io_schedule(); has_sleeper = true; + set_current_state(TASK_UNINTERRUPTIBLE); } while (1); finish_wait(&rqw->wait, &data.wq); -- GitLab