Quellcode durchsuchen

drm/vkms: Release pages_lock before return

Release pages_lock before return when vkms_obj->vaddr is NULL.
This patch fixes: 6c234fe37c57 ("drm/vkms: Implement CRC debugfs API").

Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20180803201142.GA2206@haneenDRM
Haneen Mohammed vor 7 Jahren
Ursprung
Commit
bc0d332dae
1 geänderte Dateien mit 3 neuen und 2 gelöschten Zeilen
  1. 3 2
      drivers/gpu/drm/vkms/vkms_crc.c

+ 3 - 2
drivers/gpu/drm/vkms/vkms_crc.c

@@ -22,14 +22,15 @@ static uint32_t _vkms_get_crc(struct vkms_crc_data *crc_data)
 	mutex_lock(&vkms_obj->pages_lock);
 	mutex_lock(&vkms_obj->pages_lock);
 	vaddr = vkms_obj->vaddr;
 	vaddr = vkms_obj->vaddr;
 	if (WARN_ON(!vaddr))
 	if (WARN_ON(!vaddr))
-		return crc;
+		goto out;
 
 
 	for (i = y; i < y + height; i++) {
 	for (i = y; i < y + height; i++) {
 		src_offset = fb->offsets[0] + (i * fb->pitches[0]) + (x * cpp);
 		src_offset = fb->offsets[0] + (i * fb->pitches[0]) + (x * cpp);
 		crc = crc32_le(crc, vaddr + src_offset, size_byte);
 		crc = crc32_le(crc, vaddr + src_offset, size_byte);
 	}
 	}
-	mutex_unlock(&vkms_obj->pages_lock);
 
 
+out:
+	mutex_unlock(&vkms_obj->pages_lock);
 	return crc;
 	return crc;
 }
 }