[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <0ade6e417fbf2cd119aa1f2345f88a3810c03e11.1508844352.git.arvind.yadav.cs@gmail.com>
Date: Tue, 24 Oct 2017 17:06:48 +0530
From: Arvind Yadav <arvind.yadav.cs@...il.com>
To: mchehab@...nel.org, max.kellermann@...il.com, shuah@...nel.org,
yamada.masahiro@...ionext.com, sakari.ailus@...ux.intel.com,
colin.king@...onical.com, andreyknvl@...gle.com,
dvyukov@...gle.com, kcc@...gle.com
Cc: linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
syzkaller@...glegroups.com
Subject: [RFT] media: dvb_frontend: Fix use-after-free in __dvb_frontend_free
Here, dvb_free_device will free dvb_device. dvb_frontend_invoke_release
is using dvb_device after free.
Signed-off-by: Arvind Yadav <arvind.yadav.cs@...il.com>
---
This bug report by Andrey Konovalov (usb/media/dtt200u: use-after-free
in __dvb_frontend_free).
drivers/media/dvb-core/dvb_frontend.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
index 2fcba16..7f1ef12 100644
--- a/drivers/media/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb-core/dvb_frontend.c
@@ -147,10 +147,10 @@ static void dvb_frontend_free(struct kref *ref)
container_of(ref, struct dvb_frontend, refcount);
struct dvb_frontend_private *fepriv = fe->frontend_priv;
- dvb_free_device(fepriv->dvbdev);
-
dvb_frontend_invoke_release(fe, fe->ops.release);
+ dvb_free_device(fepriv->dvbdev);
+
kfree(fepriv);
}
--
1.9.1
Powered by blists - more mailing lists