OSDN Git Service

drm/virtio: Revert "drm/virtio: Call the right shmem helpers"
authorGurchetan Singh <gurchetansingh@chromium.org>
Mon, 15 Jun 2020 23:05:00 +0000 (16:05 -0700)
committerGerd Hoffmann <kraxel@redhat.com>
Mon, 17 Aug 2020 07:36:35 +0000 (09:36 +0200)
commit51c3b0cc32d2e17581fce5b487ee95bbe9e8270a
tree145f80474532fcf1cdc5a31ad427645111e9b395
parentd4c5c2f331199aad3ff5d952de4dc4e28fa6beec
drm/virtio: Revert "drm/virtio: Call the right shmem helpers"

This reverts commit d323bb44e4d23802eb25d13de1f93f2335bd60d0.

Fixes a double-free regression:

[    4.357928]  drm_gem_shmem_free_object+0xb4/0x100
[    4.358983]  virtio_gpu_dequeue_ctrl_func+0xd9/0x290
[    4.360343]  process_one_work+0x1d2/0x3a0
[    4.361581]  worker_thread+0x45/0x3c0
[    4.362645]  kthread+0xf6/0x130
[    4.363543]  ? process_one_work+0x3a0/0x3a0
[    4.364770]  ? kthread_park+0x80/0x80
[    4.365799]  ret_from_fork+0x35/0x40
[    4.367103] Modules linked in:
[    4.367958] CR2: 0000000000000018
[    4.368857] ---[ end trace db84f7a2974d5c79 ]---
[    4.370118] RIP: 0010:dma_direct_unmap_sg+0x1f/0x60

In addition, virtio has it's own set of dma-ops so there's not an
obviously clean way to transition to shmem helpers.

Fixes: d323bb44e4d2 ("drm/virtio: Call the right shmem helpers")
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20200615230500.551-1-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/gpu/drm/virtio/virtgpu_object.c