Przeglądaj źródła

sm501fb: don't return zero on failure path in sm501fb_start()

If fbmem iomemory mapping failed, sm501fb_start() breaks off
initialization, deallocates resources, but returns zero.
As a result, double deallocation can happen in sm501fb_stop().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Alexey Khoroshilov 8 lat temu
rodzic
commit
dc85e9a874
1 zmienionych plików z 1 dodań i 0 usunięć
  1. 1 0
      drivers/video/fbdev/sm501fb.c

+ 1 - 0
drivers/video/fbdev/sm501fb.c

@@ -1600,6 +1600,7 @@ static int sm501fb_start(struct sm501fb_info *info,
 	info->fbmem = ioremap(res->start, resource_size(res));
 	if (info->fbmem == NULL) {
 		dev_err(dev, "cannot remap framebuffer\n");
+		ret = -ENXIO;
 		goto err_mem_res;
 	}