linux_dsm_epyc7002/drivers/gpu/drm/virtio
David Riley 5934ce998f drm/virtio: Fix cache entry creation race.
virtio_gpu_cmd_get_capset would check for the existence of an entry
under lock.  If it was not found, it would unlock and call
virtio_gpu_cmd_get_capset to create a new entry.  The new entry would
be added it to the list without checking if it was added by another
task during the period where the lock was not held resulting in
duplicate entries.

Compounding this issue, virtio_gpu_cmd_capset_cb would stop iterating
after find the first matching entry.  Multiple callbacks would modify
the first entry, but any subsequent entries and their associated waiters
would eventually timeout since they don't become valid, also wasting
memory along the way.

Signed-off-by: David Riley <davidriley@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20190605234423.11348-3-davidriley@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2019-06-06 09:44:40 +02:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile drm/virtio: add trace events for commands 2019-05-06 10:52:58 +02:00
virtgpu_debugfs.c drm/virtio: add virtio-gpu-features debugfs file. 2019-03-28 12:11:55 +01:00
virtgpu_display.c drm/virtio: add missing drm_atomic_helper_shutdown() call. 2019-04-02 11:00:45 +02:00
virtgpu_drv.c drm pull request for 5.2 2019-05-08 21:35:19 -07:00
virtgpu_drv.h Merge drm/drm-next into drm-misc-next 2019-05-22 16:08:21 -04:00
virtgpu_fb.c drm/virtio: switch to generic fbdev emulation 2018-12-14 09:40:27 +01:00
virtgpu_fence.c drm/virtio: Remove redundant return type 2019-05-06 15:36:23 +02:00
virtgpu_gem.c drm/virtio: rework resource creation workflow. 2019-03-28 12:11:56 +01:00
virtgpu_ioctl.c drm/virtio: Ensure cached capset entries are valid before copying. 2019-06-06 09:44:40 +02:00
virtgpu_kms.c drm/virtio: Drop deprecated load/unload initialization 2019-01-09 09:38:49 +01:00
virtgpu_object.c drm/virtio: rework resource creation workflow. 2019-03-28 12:11:56 +01:00
virtgpu_plane.c drm/virtio: drop virtio_gpu_fence_cleanup() 2019-01-08 12:00:01 +01:00
virtgpu_prime.c drm pull request for 5.2 2019-05-08 21:35:19 -07:00
virtgpu_trace_points.c drm/virtio: add trace events for commands 2019-05-06 10:52:58 +02:00
virtgpu_trace.h drm/virtio: add trace events for commands 2019-05-06 10:52:58 +02:00
virtgpu_ttm.c Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
virtgpu_vq.c drm/virtio: Fix cache entry creation race. 2019-06-06 09:44:40 +02:00