diff --git a/[refs] b/[refs] index 3578de8b0f3a..9420b857c4a6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 46f3d976213452350f9d10b0c2780c2681f7075b +refs/heads/master: 6fec10a1a5866dda3cd6a825a521fc7c2f226ba5 diff --git a/trunk/kernel/workqueue.c b/trunk/kernel/workqueue.c index 471996a81633..692d97628a10 100644 --- a/trunk/kernel/workqueue.c +++ b/trunk/kernel/workqueue.c @@ -1949,7 +1949,13 @@ __acquires(&gcwq->lock) lockdep_copy_map(&lockdep_map, &work->lockdep_map); #endif + /* + * Ensure we're on the correct CPU. DISASSOCIATED test is + * necessary to avoid spurious warnings from rescuers servicing the + * unbound or a disassociated gcwq. + */ WARN_ON_ONCE(!(worker->flags & (WORKER_UNBOUND | WORKER_REBIND)) && + !(gcwq->flags & GCWQ_DISASSOCIATED) && raw_smp_processor_id() != gcwq->cpu); /*