Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758754AbcCDEeL (ORCPT ); Thu, 3 Mar 2016 23:34:11 -0500 Received: from mail-qg0-f66.google.com ([209.85.192.66]:33152 "EHLO mail-qg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755790AbcCDEeG (ORCPT ); Thu, 3 Mar 2016 23:34:06 -0500 MIME-Version: 1.0 X-Originating-IP: [176.93.156.4] In-Reply-To: <1457058298-7782-1-git-send-email-shuahkh@osg.samsung.com> References: <1457058298-7782-1-git-send-email-shuahkh@osg.samsung.com> Date: Fri, 4 Mar 2016 06:34:04 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] media: fix null pointer dereference in v4l_vb2q_enable_media_source() From: Olli Salonen To: Shuah Khan Cc: Mauro Carvalho Chehab , linux-media , linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1397 Lines: 43 Hi Shuah, Thanks for your quick reaction. This patch seems to fix the oops I got earlier. Tested-by: Olli Salonen Cheers, -olli On 4 March 2016 at 04:24, Shuah Khan wrote: > Fix the null pointer dereference in v4l_vb2q_enable_media_source(). > DVB only drivers don't have valid struct v4l2_fh pointer. > > [ 548.443272] BUG: unable to handle kernel NULL pointer dereference > at 0000000000000010 > [ 548.452036] IP: [] > v4l_vb2q_enable_media_source+0x9/0x50 [videodev] > [ 548.460792] PGD b820e067 PUD bb3df067 PMD 0 > [ 548.465582] Oops: 0000 [#1] SMP > > Signed-off-by: Shuah Khan > Reported-by: Olli Salonen > --- > drivers/media/v4l2-core/v4l2-mc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/v4l2-core/v4l2-mc.c b/drivers/media/v4l2-core/v4l2-mc.c > index 643686d..a39a3cd 100644 > --- a/drivers/media/v4l2-core/v4l2-mc.c > +++ b/drivers/media/v4l2-core/v4l2-mc.c > @@ -214,6 +214,8 @@ int v4l_vb2q_enable_media_source(struct vb2_queue *q) > { > struct v4l2_fh *fh = q->owner; > > - return v4l_enable_media_source(fh->vdev); > + if (fh && fh->vdev) > + return v4l_enable_media_source(fh->vdev); > + return 0; > } > EXPORT_SYMBOL_GPL(v4l_vb2q_enable_media_source); > -- > 2.5.0 >