Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81676485 authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Tomi Valkeinen
Browse files

m501fb: don't return zero on failure path in sm501fb_probe()



If no framebuffers found, sm501fb_probe() breaks off initialization,
deallocates sm501fb_info, but returns zero. As a result, use after free
can happen in sm501fb_remove().

The patch adds -ENODEV as a return value in this case.

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

Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent d301a5ac
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1988,6 +1988,7 @@ static int sm501fb_probe(struct platform_device *pdev)
	if (info->fb[HEAD_PANEL] == NULL &&
	    info->fb[HEAD_CRT] == NULL) {
		dev_err(dev, "no framebuffers found\n");
		ret = -ENODEV;
		goto err_alloc;
	}