mirror-linux/drivers/gpu
Zack Rusin 7ac9578e45 drm/vmwgfx: Remove rcu locks from user resources
[ Upstream commit a309c7194e ]

User resource lookups used rcu to avoid two extra atomics. Unfortunately
the rcu paths were buggy and it was easy to make the driver crash by
submitting command buffers from two different threads. Because the
lookups never show up in performance profiles replace them with a
regular spin lock which fixes the races in accesses to those shared
resources.

Fixes kernel oops'es in IGT's vmwgfx execution_buffer stress test and
seen crashes with apps using shared resources.

Fixes: e14c02e6b6 ("drm/vmwgfx: Look up objects without taking a reference")
Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Martin Krastev <krastevm@vmware.com>
Reviewed-by: Maaz Mombasawala <mombasawalam@vmware.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221207172907.959037-1-zack@kde.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 11:58:28 +01:00
..
drm drm/vmwgfx: Remove rcu locks from user resources 2023-01-18 11:58:28 +01:00
host1x gpu: host1x: Avoid trying to use GART on Tegra20 2022-11-18 09:33:20 +01:00
ipu-v3
trace
vga
Makefile