Message ID | 20161027202325.20680-1-vincent.stehle@laposte.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Oct 27, 2016 at 10:23:24PM +0200, Vincent Stehlé wrote: > video_device_release() takes a pointer to struct video_device as argument. > Fix two call sites where the address of the pointer is passed instead. Sorry, I messed up: please ignore that "fix". The 0day robot made me realize this is indeed not a proper fix. The issue remains, though: we cannot call video_device_release() on the vdev structure member, as this will in turn call kfree(). Most probably, vdev needs to be dynamically allocated, or the call to video_device_release() dropped completely. Sorry for the bad patch. Best regards, Vincent. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Vincent, On 28/10/16 09:52, Vincent Stehlé wrote: > On Thu, Oct 27, 2016 at 10:23:24PM +0200, Vincent Stehlé wrote: >> video_device_release() takes a pointer to struct video_device as argument. >> Fix two call sites where the address of the pointer is passed instead. > > Sorry, I messed up: please ignore that "fix". The 0day robot made me > realize this is indeed not a proper fix. > > The issue remains, though: we cannot call video_device_release() on the > vdev structure member, as this will in turn call kfree(). Most probably, > vdev needs to be dynamically allocated, or the call to > video_device_release() dropped completely. I prefer that vdev is dynamically allocated. There are known problems with embedded video_device structs, so allocating it is preferred. Minghsiu, can you do that? Regards, Hans > > Sorry for the bad patch. > > Best regards, > > Vincent. > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 2016-11-03 at 13:47 +0100, Hans Verkuil wrote: > Hi Vincent, > > On 28/10/16 09:52, Vincent Stehlé wrote: > > On Thu, Oct 27, 2016 at 10:23:24PM +0200, Vincent Stehlé wrote: > >> video_device_release() takes a pointer to struct video_device as argument. > >> Fix two call sites where the address of the pointer is passed instead. > > > > Sorry, I messed up: please ignore that "fix". The 0day robot made me > > realize this is indeed not a proper fix. > > > > The issue remains, though: we cannot call video_device_release() on the > > vdev structure member, as this will in turn call kfree(). Most probably, > > vdev needs to be dynamically allocated, or the call to > > video_device_release() dropped completely. > > I prefer that vdev is dynamically allocated. There are known problems with > embedded video_device structs, so allocating it is preferred. > > Minghsiu, can you do that? > Hi Hans, I just send the patch for this. https://patchwork.kernel.org/patch/9415007/ > Regards, > > Hans > > > > > Sorry for the bad patch. > > > > Best regards, > > > > Vincent. > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-media" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c b/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c index 9a747e7..4a9e3e9d 100644 --- a/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c @@ -1267,13 +1267,13 @@ int mtk_mdp_register_m2m_device(struct mtk_mdp_dev *mdp) err_vdev_register: v4l2_m2m_release(mdp->m2m_dev); err_m2m_init: - video_device_release(&mdp->vdev); + video_device_release(mdp->vdev); return ret; } void mtk_mdp_unregister_m2m_device(struct mtk_mdp_dev *mdp) { - video_device_release(&mdp->vdev); + video_device_release(mdp->vdev); v4l2_m2m_release(mdp->m2m_dev); }
video_device_release() takes a pointer to struct video_device as argument. Fix two call sites where the address of the pointer is passed instead. Fixes: c8eb2d7e8202fd9c ("[media] media: Add Mediatek MDP Driver") Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net> Cc: Minghsiu Tsai <minghsiu.tsai@mediatek.com> Cc: Hans Verkuil <hans.verkuil@cisco.com> Cc: Mauro Carvalho Chehab <mchehab@s-opensource.com> --- drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)