Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp407759imu; Fri, 21 Dec 2018 00:58:34 -0800 (PST) X-Google-Smtp-Source: AFSGD/UgD27xMEj+hWUwpkZKE969XhjJIfChQ07i3iKTQnelrasOqzfkmKw1Ll70qwQJY8zwCz0B X-Received: by 2002:a62:4b4d:: with SMTP id y74mr1640743pfa.186.1545382714180; Fri, 21 Dec 2018 00:58:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545382714; cv=none; d=google.com; s=arc-20160816; b=WWYnJ6jBebujFdef4NtcuYgGMJAHFsYczivN51tfUHrroCdCO8qmwuer3KN0nfXOfo c3pyFs5hJvCM2kIMXdfvIC2P5NZdcmTRcc0VOixl3fOYQzaM5VKUdcoIh70Tkix1WHf2 +NSmMSE9v6oJXDh1dUUoWGfKuWpK3twjOYvIgqWxdoQqc+7/4Tf7O9E5HVexu2r2FhmI uYlTc3g0IJ1JMgAZMNByAipqJRQ9aS/seWYBKCMIJ6IdyeXkEHLPRUeIqRE3Xmfp4nC7 Gr8qmyCgv2bIQWzn8MmXMpp++9yRHxdMUgZ6V6bVwTNCWglxQvuaLTHnF9TdFWhGzIql uaFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=MBP4FkDC5u7iym32JDQSQJ7E5NApyVp5LNb2GTuR6pE=; b=u2tEFFauu/mkK0rdXs33k6gHPFvcp8vGc9LUwGpYz+ITmw7FW7Y3FNiddXuOyMvdki VeQ58aXAxbYirzDmgQagcM7UbiortLVOjb7eFYWejEEes38dvssdhfsiJ6ybLORJkMDQ zEXAjwMIrrFVzVmV0sqFVgpsplm4ZSRCQp9uwan5jDeFR2bXUBljB+FeCAGoAUBGaJg3 0odaHoHljd/t2yn0FL5WzqFO4HlTROeCEeOQLBoCitgZnvPyd7TV2y7mWeb1gzFcHLvU qK8jubXukzMEX78T3tKpyigBj6EHRQcTS7rov459qTQbkOfBNMQLbG9kMhkVfay1lLL8 +MWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b="f8gx0Kw/"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=umn.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f23si3630564pgv.431.2018.12.21.00.58.18; Fri, 21 Dec 2018 00:58:34 -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; dkim=pass header.i=@umn.edu header.s=google header.b="f8gx0Kw/"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=umn.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389180AbeLUEzn (ORCPT + 99 others); Thu, 20 Dec 2018 23:55:43 -0500 Received: from mta-p6.oit.umn.edu ([134.84.196.206]:54978 "EHLO mta-p6.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387425AbeLUEzn (ORCPT ); Thu, 20 Dec 2018 23:55:43 -0500 Received: from localhost (unknown [127.0.0.1]) by mta-p6.oit.umn.edu (Postfix) with ESMTP id 851BECF6 for ; Fri, 21 Dec 2018 04:55:41 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p6.oit.umn.edu ([127.0.0.1]) by localhost (mta-p6.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kJofsAQlDY4G for ; Thu, 20 Dec 2018 22:55:41 -0600 (CST) Received: from mail-io1-f70.google.com (mail-io1-f70.google.com [209.85.166.70]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p6.oit.umn.edu (Postfix) with ESMTPS id 3483ECFB for ; Thu, 20 Dec 2018 22:55:41 -0600 (CST) Received: by mail-io1-f70.google.com with SMTP id h7so3339616iof.19 for ; Thu, 20 Dec 2018 20:55:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id; bh=MBP4FkDC5u7iym32JDQSQJ7E5NApyVp5LNb2GTuR6pE=; b=f8gx0Kw/Oyc0Mc84BMqPCDgjmBaW6DiGcMUG5K8VFMCRkgqp23fgojzTLzPsQW1xCp 2RrgQt3JQGX8bldLll0E69yQrcZ3fbplOAn9HopFnSO5ElN06yr9czVRCM2hzL9nw12Z F4L+5QRFZtLNGH7L0dvqa1EdqjylfLC/GrcA8ZQ/LSoFUMzX22KJ1r17yJ31KYU54E8a 5R++k95uARkpHl/cv3QeMpOgJ13xggXUtVUa7roL/a1i+sVBAs9Cz9+p2rzOV2ZzNdnR VGUkNpI+doAViGqbMZpJjMVbIIHc4t4Twqn6mKltCUWs6s7TBilrjbxg6ZS5icwTt3UF oicA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=MBP4FkDC5u7iym32JDQSQJ7E5NApyVp5LNb2GTuR6pE=; b=sPXf+iYzQjvTF8W7sxtdMRPDuYQoodaV2jfQsx4XK1R/80xoKnHowQ4fy9ZTw+80on Y7teVVt960hFBB6XK2fIGfTrII2iRMXkx221O+9SAscWoXfXgw72YtvdVQdRUdAjrhAz 9+KIlat49KPES1myAWBZH8AT7wrrwemP4yxUswaQoOZgDiFLJUKjjr+lE/ArYcwKHfL5 Hd0K2xLfS3kzTmWrmZ9oKq+iKN651RJn8TlFuLnnjJYXu7BSa73EK81iHf/LpfoHAWEE 03cBEYos1PSvl2emjbuluBt95X0ypZlCjbkTGqCrP0iWQc+owa7Q8krusn6NReQqbU1c AM+A== X-Gm-Message-State: AA+aEWb2d7NzyhuuJo+4KLWuW8ONC9EWQQ/KSM9EGp7kGOQ5HfEm/xq4 r0Kxb8iPDbrMwT+CJQTCxpSkU1xU9aSLFtbFk9cbPwSopH/+hGGiS8PanZ4/2Ose9hDeJZtoGb9 MWRuMU/ch466mMYVQSRkID9nIookc X-Received: by 2002:a24:6c12:: with SMTP id w18mr1213506itb.14.1545368140787; Thu, 20 Dec 2018 20:55:40 -0800 (PST) X-Received: by 2002:a24:6c12:: with SMTP id w18mr1213498itb.14.1545368140476; Thu, 20 Dec 2018 20:55:40 -0800 (PST) Received: from localhost.localdomain (host-173-230-104-23.mnmigsc.mn.minneapolis.us.clients.pavlovmedia.net. [173.230.104.23]) by smtp.gmail.com with ESMTPSA id l11sm10412539iob.24.2018.12.20.20.55.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 20 Dec 2018 20:55:39 -0800 (PST) From: Kangjie Lu To: kjlu@umn.edu Cc: pakki001@umn.edu, Matthias Schwarzott , Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] media: si2165: fix a missing check of return value Date: Thu, 20 Dec 2018 22:54:03 -0600 Message-Id: <20181221045403.59303-1-kjlu@umn.edu> X-Mailer: git-send-email 2.17.2 (Apple Git-113) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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, -- 2.17.2 (Apple Git-113)