On Thu, 24 Aug 2017, Luca Coelho wrote:
quoted
Work queues cannot be allocated when a mutex is held because the mutex
may be in use and that would make it sleep. Doing so generates the
following splat with 4.13+:
[ 19.513298] ======================================================
[ 19.513429] WARNING: possible circular locking dependency detected
[ 19.513557] 4.13.0-rc5+ #6 Not tainted
[ 19.513638] ------------------------------------------------------
[ 19.513767] cpuhp/0/12 is trying to acquire lock:
[ 19.513867] (&tz->lock){+.+.+.}, at: [<ffffffff924afebb>] thermal_zone_get_temp+0x5b/0xb0
[ 19.514047]
[ 19.514047] but task is already holding lock:
[ 19.514166] (cpuhp_state){+.+.+.}, at: [<ffffffff91cc4baa>] cpuhp_thread_fun+0x3a/0x210
[ 19.514338]
[ 19.514338] which lock already depends on the new lock.
This lock dependency already existed with previous kernel versions,
but it was not detected until commit 49dfe2a67797 ("cpuhotplug: Link
lock stacks for hotplug callbacks") was introduced.
Reported-by: David Weinehall <redacted>
Reported-by: Jiri Kosina <jikos@kernel.org>
Signed-off-by: Luca Coelho <redacted>
Jiri, did you have a chance to try this out? I'm about to ask Kalle to
merge this so it gets in in time for 4.13-rc7.
Sorry, I am almost completely offline for one more week (vacation), and
will not have access to the affected system before that. But this indeed
looks like a correct fix to me, so feel free to add
Acked-by: Jiri Kosina [off-list ref]
I'll be able to provide my Tested-by: eventually only in ~10 days.
Thanks,
--
Jiri Kosina
SUSE Labs