summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2022-09-24 08:32:59 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2022-09-24 08:32:59 -0700
commitaae8dda51964ff9d3f1dc96528b853826667efad (patch)
treeb4724f27e9f440ebf25eb3b2b5628b4aa70c01d3
parent3db61221f4e8f18d1dd6e45dbe9e3702ff2d67ab (diff)
parentc0feea594e058223973db94c1c32a830c9807c86 (diff)
downloadlinux-stable-aae8dda51964ff9d3f1dc96528b853826667efad.tar.gz
linux-stable-aae8dda51964ff9d3f1dc96528b853826667efad.tar.bz2
linux-stable-aae8dda51964ff9d3f1dc96528b853826667efad.zip
Merge tag 'wq-for-6.0-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue fix from Tejun Heo: "Just one patch to improve flush lockdep coverage" * tag 'wq-for-6.0-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: don't skip lockdep work dependency in cancel_work_sync()
-rw-r--r--kernel/workqueue.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index aeea9731ef80..39060a5d0905 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -3066,10 +3066,8 @@ static bool __flush_work(struct work_struct *work, bool from_cancel)
if (WARN_ON(!work->func))
return false;
- if (!from_cancel) {
- lock_map_acquire(&work->lockdep_map);
- lock_map_release(&work->lockdep_map);
- }
+ lock_map_acquire(&work->lockdep_map);
+ lock_map_release(&work->lockdep_map);
if (start_flush_work(work, &barr, from_cancel)) {
wait_for_completion(&barr.done);