提交 dc85e9a8 编写于 作者: A Alexey Khoroshilov 提交者: Bartlomiej Zolnierkiewicz

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: NAlexey Khoroshilov <khoroshilov@ispras.ru>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
上级 45f580c4
...@@ -1600,6 +1600,7 @@ static int sm501fb_start(struct sm501fb_info *info, ...@@ -1600,6 +1600,7 @@ static int sm501fb_start(struct sm501fb_info *info,
info->fbmem = ioremap(res->start, resource_size(res)); info->fbmem = ioremap(res->start, resource_size(res));
if (info->fbmem == NULL) { if (info->fbmem == NULL) {
dev_err(dev, "cannot remap framebuffer\n"); dev_err(dev, "cannot remap framebuffer\n");
ret = -ENXIO;
goto err_mem_res; goto err_mem_res;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册