Searched hist:ca8cb69580236f47041dd045c08f82cb7bb50d7c (Results 1 – 1 of 1) sorted by relevance
/linux/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_dump.c | diff ca8cb69580236f47041dd045c08f82cb7bb50d7c Wed Oct 16 15:37:06 CEST 2019 Lucas Stach <l.stach@pengutronix.de> drm/etnaviv: fix deadlock in GPU coredump
The GPU coredump function violates the locking order by holding the MMU context lock while trying to acquire the etnaviv_gem_object lock. This results in a possible ABBA deadlock with other codepaths which follow the established locking order. Fortunately this is easy to fix by dropping the MMU context lock earlier, as the BO dumping doesn't need the MMU context to be stable. The only thing the BO dumping cares about are the BO mappings, which are stable across the lifetime of the job.
Fixes: 27b67278e007 (drm/etnaviv: rework MMU handling) [ Not really the first bad commit, but the one where this fix applies cleanly. Stable kernels need a manual backport. ] Reported-by: Christian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Tested-by: Christian Gmeiner <christian.gmeiner@gmail.com>
|