From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A2945C48BC2 for ; Wed, 23 Jun 2021 07:54:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8C02360231 for ; Wed, 23 Jun 2021 07:54:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230004AbhFWH4k (ORCPT ); Wed, 23 Jun 2021 03:56:40 -0400 Received: from mga09.intel.com ([134.134.136.24]:5726 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229920AbhFWH4i (ORCPT ); Wed, 23 Jun 2021 03:56:38 -0400 IronPort-SDR: O/eK9YFTvOAoyebV4dss7/TgAXR2wCMO2I8Qs7lKZc6M8wMT5HcGpjl9BbtXocfFKMrUunOd9f k6rIejALudUg== X-IronPort-AV: E=McAfee;i="6200,9189,10023"; a="207153186" X-IronPort-AV: E=Sophos;i="5.83,293,1616482800"; d="scan'208";a="207153186" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2021 00:54:19 -0700 IronPort-SDR: Ezel5oxpkWim0ATCfSltUKbIqfQvb8j2NWECbYR8dk1mliRU/ZVmo8dDE/8EFcsbTiWCljdjGj LNe43qP6XWug== X-IronPort-AV: E=Sophos;i="5.83,293,1616482800"; d="scan'208";a="623758601" Received: from paasikivi.fi.intel.com ([10.237.72.42]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2021 00:54:16 -0700 Received: from paasikivi.fi.intel.com (localhost [127.0.0.1]) by paasikivi.fi.intel.com (Postfix) with SMTP id C8549201E1; Wed, 23 Jun 2021 10:54:14 +0300 (EEST) Date: Wed, 23 Jun 2021 10:54:14 +0300 From: Sakari Ailus To: Yizhuo Cc: Mauro Carvalho Chehab , Greg Kroah-Hartman , Juan Antonio Aldea-Armenteros , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH] media: atomisp: fix the uninitialized use and rename "retvalue" Message-ID: <20210623075414.GF3@paasikivi.fi.intel.com> References: <20210623055634.12603-1-yzhai003@ucr.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210623055634.12603-1-yzhai003@ucr.edu> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Yizhuo, On Wed, Jun 23, 2021 at 05:56:31AM +0000, Yizhuo wrote: > Inside function mt9m114_detect(), variable "retvalue" could > be uninitialized if mt9m114_read_reg() returns error, however, it > is used in the later if statement, which is potentially unsafe. > > The local variable "retvalue" is renamed to "model" to avoid > confusion. > > Signed-off-by: Yizhuo > --- > drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c > index f5de81132177..fbd6c6cd84c8 100644 > --- a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c > +++ b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c > @@ -1533,16 +1533,19 @@ static struct v4l2_ctrl_config mt9m114_controls[] = { > static int mt9m114_detect(struct mt9m114_device *dev, struct i2c_client *client) > { > struct i2c_adapter *adapter = client->adapter; > - u32 retvalue; > + u32 model; > + int ret; > > if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) { > dev_err(&client->dev, "%s: i2c error", __func__); > return -ENODEV; > } > - mt9m114_read_reg(client, MISENSOR_16BIT, (u32)MT9M114_PID, &retvalue); > - dev->real_model_id = retvalue; > + ret = mt9m114_read_reg(client, MISENSOR_16BIT, (u32)MT9M114_PID, &model); This is over 80 characters. You can also drop the cast, which also reduces the line length. > + if (ret) > + return ret; > + dev->real_model_id = model; > > - if (retvalue != MT9M114_MOD_ID) { > + if (model != MT9M114_MOD_ID) { > dev_err(&client->dev, "%s: failed: client->addr = %x\n", > __func__, client->addr); > return -ENODEV; -- Regards, Sakari Ailus