drm/virtio: Remove incorrect kfree()
authorEzequiel Garcia <ezequiel@collabora.com>
Wed, 2 Jan 2019 17:55:06 +0000 (14:55 -0300)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 8 Jan 2019 10:45:19 +0000 (11:45 +0100)
The virtio_gpu_output is a member of struct virtio_gpu_device
and is not a dynamically-allocated chunk, so it's wrong to kfree() it.
Removing it fixes a memory corruption BUG() that can be triggered
when the virtio-gpu driver is removed.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20190102175507.4653-1-ezequiel@collabora.com
drivers/gpu/drm/virtio/virtgpu_display.c

index e1c223e18d8684e0f1f7a75d526a54dbf8159f11..d539bc28dc97ffa551afc39cc613ce7373a5169e 100644 (file)
@@ -243,12 +243,8 @@ static enum drm_connector_status virtio_gpu_conn_detect(
 
 static void virtio_gpu_conn_destroy(struct drm_connector *connector)
 {
-       struct virtio_gpu_output *virtio_gpu_output =
-               drm_connector_to_virtio_gpu_output(connector);
-
        drm_connector_unregister(connector);
        drm_connector_cleanup(connector);
-       kfree(virtio_gpu_output);
 }
 
 static const struct drm_connector_funcs virtio_gpu_connector_funcs = {