From: Pingfan Liu Date: Wed, 15 Feb 2023 11:23:40 +0000 (+0800) Subject: dm: add cond_resched() to dm_wq_work() X-Git-Tag: v6.1.16~98 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7f093695b49a0e46d2f1ad0c641dd04f8d20acd9;p=users%2Fdwmw2%2Flinux.git dm: add cond_resched() to dm_wq_work() commit 0ca44fcef241768fd25ee763b3d203b9852f269b upstream. Otherwise the while() loop in dm_wq_work() can result in a "dead loop" on systems that have preemption disabled. This is particularly problematic on single cpu systems. Cc: stable@vger.kernel.org Signed-off-by: Pingfan Liu Acked-by: Ming Lei Signed-off-by: Mike Snitzer Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/md/dm.c b/drivers/md/dm.c index c9d034c952a4e..212441671554c 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -2578,6 +2578,7 @@ static void dm_wq_work(struct work_struct *work) break; submit_bio_noacct(bio); + cond_resched(); } }