Received: by 2002:ac0:aed5:0:0:0:0:0 with SMTP id t21csp3585280imb; Tue, 5 Mar 2019 13:21:22 -0800 (PST) X-Google-Smtp-Source: APXvYqwTFkhtY6mflY+zxJ6OlCR6/HhpPKHuyIZlX8f6MTnhalsaYSPwUPaSGFtE/h8SChtwMLx3 X-Received: by 2002:a65:6497:: with SMTP id e23mr3094795pgv.21.1551820882062; Tue, 05 Mar 2019 13:21:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551820882; cv=none; d=google.com; s=arc-20160816; b=wiwVzYD9laZ+5FsQQPF+EPreuqgPaVbRrSUUfpIOjWd0MQl7p9uEOqW+Mkou8wzEKR QwKdpa7fiG7ADIWyOnW9BlGVk1GDQEcbz5XOB2fsUSrHXwRse06lOSKQn6frGu5x5SPa 177ZohxipdpfT+ZO3Abmh/Uth5ZVo5ARHEPdZQwefDJnQ9784e/3t3B+xs5e3Yhel2sG xJPvgWGD22WIDCmtXI0g+hoanJ68tffqzBjFFZxUWcEASDIMB5fIwmEwy/lLQeeZoi0g FzdMjCM4GJv4sCToy9UD4jautuNq5rz6t1OMJ8k9AmDAg0XnGgN/3CZH5KMoIxMNGjl/ iX+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=26p1xNqPM/igw4ILMSOEwJp1saZvmWVfWF7+/356N8k=; b=QAKj1zfWQzFSM2dzJ6D566DzQKUu6XK3Pt5DOe/Xf5srLsJzOR8/IZIZ6sy3M0H8sk s1XP+93plK15B61osh7WL9rhTJKvAp1hKojdgoEPBQ8ZVWe+4OvSbuQ49izr3tF0Ngfx MjFjJAfZVNlQJgKMALj/Tymygh64kS536HZ3DN0zThIymiYDwl5tyThPT75jBRw+9jNA S9mF315kNMPDQu5Pc4MSS0J/Eaqm+NfwCI1Ow4FycfFkOsTYzaJSC7yLBVsFBweizFx5 AoPAkavJAJ+2VC+Sd+ZsSmeX8X9bBzdTjqbPL5H6dpkaWPlgXRiPmdbuZwZJm18ScTqU ZviQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e16si8218093pgv.436.2019.03.05.13.21.06; Tue, 05 Mar 2019 13:21:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728726AbfCEVRq (ORCPT + 99 others); Tue, 5 Mar 2019 16:17:46 -0500 Received: from gofer.mess.org ([88.97.38.141]:42821 "EHLO gofer.mess.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726277AbfCEVRp (ORCPT ); Tue, 5 Mar 2019 16:17:45 -0500 Received: by gofer.mess.org (Postfix, from userid 1000) id 0DA9560E4D; Tue, 5 Mar 2019 21:17:44 +0000 (GMT) Date: Tue, 5 Mar 2019 21:17:43 +0000 From: Sean Young To: Matthias Schwarzott Cc: Kangjie Lu , pakki001@umn.edu, Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] media: si2165: fix a missing check of return value Message-ID: <20190305211743.vi6zksuw2eltusif@gofer.mess.org> References: <20181221045403.59303-1-kjlu@umn.edu> <7a5d505d-692b-f067-51f6-815787cffba3@gentoo.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7a5d505d-692b-f067-51f6-815787cffba3@gentoo.org> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 21, 2018 at 09:24:46AM +0100, Matthias Schwarzott wrote: > Am 21.12.18 um 05:54 schrieb Kangjie Lu: > > si2165_readreg8() may fail. Looking into si2165_readreg8(), we will find > > that "val_tmp" will be an uninitialized value when regmap_read() fails. > > "val_tmp" is then assigned to "val". So if si2165_readreg8() fails, > > "val" will be a random value. Further use will lead to undefined > > behaviors. The fix checks if si2165_readreg8() fails, and if so, returns > > its error code upstream. > > > > Signed-off-by: Kangjie Lu > > Reviewed-by: Matthias Schwarzott Unless it is tested on the actual hardware we can't apply this. This could introduce regressions. Sean > > > --- > > drivers/media/dvb-frontends/si2165.c | 8 +++++--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-frontends/si2165.c > > index feacd8da421d..d55d8f169dca 100644 > > --- a/drivers/media/dvb-frontends/si2165.c > > +++ b/drivers/media/dvb-frontends/si2165.c > > @@ -275,18 +275,20 @@ static u32 si2165_get_fe_clk(struct si2165_state *state) > > > > static int si2165_wait_init_done(struct si2165_state *state) > > { > > - int ret = -EINVAL; > > + int ret; > > u8 val = 0; > > int i; > > > > for (i = 0; i < 3; ++i) { > > - si2165_readreg8(state, REG_INIT_DONE, &val); > > + ret = si2165_readreg8(state, REG_INIT_DONE, &val); > > + if (ret < 0) > > + return ret; > > if (val == 0x01) > > return 0; > > usleep_range(1000, 50000); > > } > > dev_err(&state->client->dev, "init_done was not set\n"); > > - return ret; > > + return -EINVAL; > > } > > > > static int si2165_upload_firmware_block(struct si2165_state *state, > >