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

Commit 7af9a52e authored by Anton Vasilyev's avatar Anton Vasilyev Committed by Bartlomiej Zolnierkiewicz
Browse files

video: fbdev: udlfb: Fix use after free on dlfb_usb_probe error path



If dlfb_usb_probe drops to error path then there is only one
kref_init() call and no kref_get(), so second kref_put() leads to
use after free.

The patch removes superfluous kref_put on dlfb_usb_probe error path.

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

Signed-off-by: default avatarAnton Vasilyev <vasilyev@ispras.ru>
Cc: Bernie Thompson <bernie@plugable.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
parent 8bf25ead
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -1655,7 +1655,6 @@ static int dlfb_usb_probe(struct usb_interface *interface,
error:
error:
	if (dev) {
	if (dev) {


		kref_put(&dev->kref, dlfb_free); /* ref for framebuffer */
		kref_put(&dev->kref, dlfb_free); /* last ref from kref_init */
		kref_put(&dev->kref, dlfb_free); /* last ref from kref_init */


		/* dev has been deallocated. Do not dereference */
		/* dev has been deallocated. Do not dereference */