From patchwork Thu Jul 16 11:51:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Slaby X-Patchwork-Id: 65544 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1jw2LO-00HHWV-78; Thu, 16 Jul 2020 11:46:31 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727844AbgGPLvZ (ORCPT + 1 other); Thu, 16 Jul 2020 07:51:25 -0400 Received: from mx2.suse.de ([195.135.220.15]:43528 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726383AbgGPLvY (ORCPT ); Thu, 16 Jul 2020 07:51:24 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 2FADEB931; Thu, 16 Jul 2020 11:51:27 +0000 (UTC) From: Jiri Slaby To: mchehab+huawei@kernel.org Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Jiri Slaby Subject: [PATCH] media: atomisp: fix NULL pointer dereference Date: Thu, 16 Jul 2020 13:51:22 +0200 Message-Id: <20200716115122.15909-1-jslaby@suse.cz> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -2.4 (--) X-LSpam-Report: No, score=-2.4 required=5.0 tests=BAYES_00=-1.9,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1 autolearn=ham autolearn_force=no I am currently seeing: BUG: kernel NULL pointer dereference, address: 0000000000000002 ... Hardware name: UMAX VisionBook 10Wi Pro/CQM1018CWP, BIOS CQ1018.007 09/22/2016 RIP: 0010:gmin_subdev_add.cold+0x303/0x312 [atomisp_gmin_platform] ... Call Trace: gmin_camera_platform_data+0x2f/0x60 [atomisp_gmin_platform] ov2680_probe+0x7f/0x2b0 [atomisp_ov2680] i2c_device_probe+0x95/0x290 power can be NULL and that is properly handled earlier in this function. Even i2c address is set there. So this is a duplicated assignment which can cause the bug above. Remove it. Signed-off-by: Jiri Slaby Cc: Mauro Carvalho Chehab --- drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c index 1af9da8acf4c..246742f44d84 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c +++ b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c @@ -574,7 +574,6 @@ static struct gmin_subdev *gmin_subdev_add(struct v4l2_subdev *subdev) gmin_subdevs[i].eldo2_ctrl_shift = gmin_get_var_int(dev, false, "eldo2_ctrl_shift", ELDO2_CTRL_SHIFT); - gmin_subdevs[i].pwm_i2c_addr = power->addr; break; default: