drm/vkms: Fix possible memory leak in _vkms_get_crc()
authorWei Yongjun <weiyongjun1@huawei.com>
Sat, 15 Sep 2018 01:53:19 +0000 (01:53 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 21 Sep 2018 08:50:45 +0000 (10:50 +0200)
'vaddr_out' is malloced in _vkms_get_crc() and should be freed before
leaving from the error handling cases, otherwise it will cause memory
leak.

Fixes: db7f419c06d7 ("drm/vkms: Compute CRC with Cursor Plane")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/1536976399-1295-1-git-send-email-weiyongjun1@huawei.com
drivers/gpu/drm/vkms/vkms_crc.c

index 0a2745646dfa5df6f85080bcc3c92611da00d7b6..9d9e8146db90ca04d1e67194d9547dc95582f125 100644 (file)
@@ -125,6 +125,7 @@ static uint32_t _vkms_get_crc(struct vkms_crc_data *primary_crc,
        mutex_lock(&vkms_obj->pages_lock);
        if (WARN_ON(!vkms_obj->vaddr)) {
                mutex_unlock(&vkms_obj->pages_lock);
+               kfree(vaddr_out);
                return crc;
        }