linux_dsm_epyc7002/drivers/gpu/drm/vmwgfx
Thomas Hellstrom 73a88250b7 drm/vmwgfx: Fix a destoy-while-held mutex problem.
When validating legacy surfaces, the backup bo might be destroyed at
surface validate time. However, the kms resource validation code may have
the bo reserved, so we will destroy a locked mutex. While there shouldn't
be any other users of that mutex when it is destroyed, it causes a lock
leak and thus throws a lockdep error.

Fix this by having the kms resource validation code hold a reference to
the bo while we have it reserved. We do this by introducing a validation
context which might come in handy when the kms code is extended to validate
multiple resources or buffers.

Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
2018-03-21 10:52:01 +01:00
..
device_include License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig drm: fix compilations issues introduced by "drm: allow to use mmuless SoC" 2017-01-09 11:30:30 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vmwgfx_binding.c drm/ttm: use an operation ctx for ttm_mem_global_alloc 2017-12-27 11:38:54 -05:00
vmwgfx_binding.h
vmwgfx_buffer.c drm/ttm: use an operation ctx for ttm_tt_populate in ttm_bo_driver (v2) 2017-12-28 09:48:19 -05:00
vmwgfx_cmdbuf_res.c drm/vmwgfx: Fix NULL pointer comparison 2017-07-17 23:40:34 -07:00
vmwgfx_cmdbuf.c drm/vmwgfx: Fix incorrect command header offset at restart 2017-08-28 17:40:51 +02:00
vmwgfx_context.c drm/ttm: use an operation ctx for ttm_mem_global_alloc 2017-12-27 11:38:54 -05:00
vmwgfx_cotable.c drm/ttm: use an operation ctx for ttm_mem_global_alloc 2017-12-27 11:38:54 -05:00
vmwgfx_dmabuf.c drm/ttm: add operation ctx to ttm_bo_validate v2 2017-12-06 12:48:01 -05:00
vmwgfx_drv.c drm/vmwgfx: Fix black screen and device errors when running without fbdev 2018-03-21 10:51:23 +01:00
vmwgfx_drv.h drm/vmwgfx: Fix black screen and device errors when running without fbdev 2018-03-21 10:51:23 +01:00
vmwgfx_execbuf.c Linux 4.15-rc8 2018-01-18 09:32:15 +10:00
vmwgfx_fb.c drm/<drivers>: Drop fbdev info flags 2017-07-26 13:22:40 +02:00
vmwgfx_fence.c drm/ttm: use an operation ctx for ttm_mem_global_alloc 2017-12-27 11:38:54 -05:00
vmwgfx_fence.h drm/vmwgfx: Add support for imported Fence File Descriptor 2017-08-28 17:51:38 +02:00
vmwgfx_fifo.c drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve() 2017-06-07 12:07:35 +02:00
vmwgfx_gmr.c
vmwgfx_gmrid_manager.c drm/ttm: make ttm_mem_type_manager_func debug more useful 2017-08-17 15:45:59 -04:00
vmwgfx_ioctl.c the rest of drivers/*: annotate ->poll() instances 2017-11-28 11:06:58 -05:00
vmwgfx_irq.c drm/vmwgfx: Move irq bottom half processing to threads 2017-08-28 17:40:43 +02:00
vmwgfx_kms.c drm/vmwgfx: Fix a destoy-while-held mutex problem. 2018-03-21 10:52:01 +01:00
vmwgfx_kms.h drm/vmwgfx: Fix a destoy-while-held mutex problem. 2018-03-21 10:52:01 +01:00
vmwgfx_ldu.c drm/vmwgfx: fix memory corruption with legacy/sou connectors 2018-01-17 16:27:45 +01:00
vmwgfx_marker.c
vmwgfx_mob.c drm/ttm: use an operation ctx for ttm_tt_populate in ttm_bo_driver (v2) 2017-12-28 09:48:19 -05:00
vmwgfx_msg.c Merge branch 'drm-vmwgfx-fixes' of git://people.freedesktop.org/~syeh/repos_linux into drm-fixes 2017-07-24 15:57:28 +10:00
vmwgfx_msg.h drm/vmwgfx: Add VMWare host messaging capability 2016-05-20 17:12:33 +02:00
vmwgfx_overlay.c
vmwgfx_prime.c dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro 2017-04-20 13:47:46 +05:30
vmwgfx_reg.h
vmwgfx_resource_priv.h drm/vmwgfx: Introduce a simple resource type 2017-03-31 15:21:17 -07:00
vmwgfx_resource.c drm/ttm: add operation ctx to ttm_bo_validate v2 2017-12-06 12:48:01 -05:00
vmwgfx_scrn.c drm/vmwgfx: Fix a destoy-while-held mutex problem. 2018-03-21 10:52:01 +01:00
vmwgfx_shader.c drm/ttm: use an operation ctx for ttm_mem_global_alloc 2017-12-27 11:38:54 -05:00
vmwgfx_simple_resource.c drm/ttm: use an operation ctx for ttm_mem_global_alloc 2017-12-27 11:38:54 -05:00
vmwgfx_so.c drm/ttm: use an operation ctx for ttm_mem_global_alloc 2017-12-27 11:38:54 -05:00
vmwgfx_so.h
vmwgfx_stdu.c drm/vmwgfx: Fix a destoy-while-held mutex problem. 2018-03-21 10:52:01 +01:00
vmwgfx_surface.c drm/ttm: use an operation ctx for ttm_mem_global_alloc 2017-12-27 11:38:54 -05:00
vmwgfx_ttm_glue.c
vmwgfx_va.c drm/vmwgfx: Re-implement the stream resource as a simple resource. 2017-03-31 15:21:17 -07:00