Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1709577

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

From Anton Vasilyev <vasilyev@ispras.ru>
Newsgroups linux.kernel
Subject [PATCH] video: fbdev: udlfb: Fix use after free on dlfb_usb_probe error path
Date 2017-08-11 15:00 +0200
Message-ID <udhHH-3D8-9@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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: Anton Vasilyev <vasilyev@ispras.ru>
---
 drivers/video/fbdev/udlfb.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/video/fbdev/udlfb.c b/drivers/video/fbdev/udlfb.c
index 05ef657..f71b49f 100644
--- a/drivers/video/fbdev/udlfb.c
+++ b/drivers/video/fbdev/udlfb.c
@@ -1655,7 +1655,6 @@ static int dlfb_usb_probe(struct usb_interface *interface,
 error:
 	if (dev) {
 
-		kref_put(&dev->kref, dlfb_free); /* ref for framebuffer */
 		kref_put(&dev->kref, dlfb_free); /* last ref from kref_init */
 
 		/* dev has been deallocated. Do not dereference */
-- 
2.7.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH] video: fbdev: udlfb: Fix use after free on dlfb_usb_probe error path Anton Vasilyev <vasilyev@ispras.ru> - 2017-08-11 15:00 +0200
  Re: [PATCH] video: fbdev: udlfb: Fix use after free on  dlfb_usb_probe error path Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2017-08-21 16:40 +0200

csiph-web