Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp519640imu; Thu, 20 Dec 2018 00:29:21 -0800 (PST) X-Google-Smtp-Source: AFSGD/V5XJGao/NNSR4W3sdEwreF1fkmcVbJ5m4ps/NcNH8VaJu4tv1CYMBxCEKrWViGJTVSyTgz X-Received: by 2002:a63:4819:: with SMTP id v25mr21566433pga.308.1545294561663; Thu, 20 Dec 2018 00:29:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545294561; cv=none; d=google.com; s=arc-20160816; b=cvlmHgiqxw33zlM17sxvg388JNgkvZOzKaDUIGWT5m8szWEGIa64tjNA9sJFcPNrE4 Kk2brUS3kHEbW4KrQBZZOwrRw6ZiT17wHr+sDziuZ79FYM7YilNNI3om81O1Gj3T8XZ6 3Hzd6Kl0JRukvXpkeG4+sqvoMLbzu2uC97C6OG9YFlBLteEbYasC3QrzB3b1w2a/Tzz9 qW7q7fcNg8cyNMSw7IH9Q8QaFo4OOAJIB9ClPMKhrTwZp6UiXE6ORY1nCchOiMyeZf66 fQucWzZnxVVxC4R8sFw7YBJQDyq1GSxLYgH0pZBycrCu6OCo+VHhVUUzrvNVJApArWyR Wkkg== 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=iPMrAI3bLWBOMHdbC/v0OmDCeGkFjS0XKiHDe7hscpk=; b=PkTkqoR6P8lCezzzk/fK18hGZcm10md1Rw8K928lHBPkgKSBMf/c3o4vJ0TuUE9O+h SfBQ1D8K6nvEH22IkK/fiifw/QIG/IVlrZ/xveSCNXC8pl5BEKdmrgxsrpYrfZ4SVRdS gPclzgM+Fktk3m1XE0lcMaUXTdSJzuKCN0BIu6+Kzz4lXvx9A2ypuVlWHSVaOqXV8wM7 NIW2VKpAMCglseU/O6/vLUKcuoGpWKOaEl4tWC7JAPRPYem5a7oaK9EtvIqvx/bliLEu uaVUGr+CiQbQ5Ash+BvGf8YhWAIHm49YfcqOp5uASMfKC3WwwxE3h/9PtVFGjVRMcwTR WoIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=oViJlhCH; 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 r27si18406335pgl.494.2018.12.20.00.29.06; Thu, 20 Dec 2018 00:29:21 -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=oViJlhCH; 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 S1728691AbeLTIMb (ORCPT + 99 others); Thu, 20 Dec 2018 03:12:31 -0500 Received: from mta-p7.oit.umn.edu ([134.84.196.207]:44100 "EHLO mta-p7.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725440AbeLTIMb (ORCPT ); Thu, 20 Dec 2018 03:12:31 -0500 Received: from localhost (unknown [127.0.0.1]) by mta-p7.oit.umn.edu (Postfix) with ESMTP id 144CEBD8 for ; Thu, 20 Dec 2018 08:12:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p7.oit.umn.edu ([127.0.0.1]) by localhost (mta-p7.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NRquv3gGiH4f for ; Thu, 20 Dec 2018 02:12:29 -0600 (CST) Received: from mail-it1-f198.google.com (mail-it1-f198.google.com [209.85.166.198]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p7.oit.umn.edu (Postfix) with ESMTPS id D58E9AAF for ; Thu, 20 Dec 2018 02:12:29 -0600 (CST) Received: by mail-it1-f198.google.com with SMTP id i12so1426143ita.3 for ; Thu, 20 Dec 2018 00:12:29 -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=iPMrAI3bLWBOMHdbC/v0OmDCeGkFjS0XKiHDe7hscpk=; b=oViJlhCHLrCtStkRktQVHWLAZKNWvxF+fRu0xWXq3jqyCl1pBY/Em5pos5VAcJF9je 63Lj8LnsTTRbMzYhodVgw9YK0nLexeu6i3CBw/eKEcbXc22KXuW+HWbaqebvCJTiMRgs BpgHmakKibEXma3mEZ6+lPT8ONo93I0w4uWw7ueimANdk8nSYTk5+j0hP5waX3ZO6JgK ag9uR/UJmyC98KGq6z5zNzsR+a8LiIAfTc7w2ntPv92pXMuZ8p3WnGqSoHzdu5G/eBNO Pph6MRaQoDd71Zeg0I1RvU6ZAAlJdukC2QFAJ8Ir/XlAA7BHJcZGwd+MqBDYOZlHA/Gi FZnQ== 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=iPMrAI3bLWBOMHdbC/v0OmDCeGkFjS0XKiHDe7hscpk=; b=qcpUM6yfOWmnwLQy3cNesfbZF+2FhbXQqx8R9uxp63rxQhn27UTLz1Dse/FSjzI5E7 jje3sH3xt1Ou4IotVcgbwc2AOw1lKN8LZ4eTwuAkkw/lvwNoR3usMHxm5pf07+vk1sSw EOINH5ficL4vN1+kvWejIdupESF8a8Hu1cLdujC8SmKXwWSbZYN7lIuIhIvQhCxDmiWc mL4LgEDZArVfr+IL93kHwAjcCR/XVpufgmrhYvCzHYyaaZTTjk/G1VDHDtvPRVq9Mow9 1XcBScwmC+SsRxKpiZ2ZzrU398rbfsBhooQXE37ORP9TyQwKyJFuj46X9KeQ2DpybMz9 k/+Q== X-Gm-Message-State: AA+aEWaspGwKH2oiSTkM71D+tB3UtoM7TkF+f+mKJdAr2wYUM9ucU9mA HNv4q8Ejt1lb9V+JXc73ssDvSqp8rVxZDoaZE0Byu4rmoZq1var20sWHF37VyNloPuuoPlW4dcW T5hfL77IooGkYzcufR/FvX2yMfsdb X-Received: by 2002:a02:8c4a:: with SMTP id j10mr22677922jal.129.1545293549451; Thu, 20 Dec 2018 00:12:29 -0800 (PST) X-Received: by 2002:a02:8c4a:: with SMTP id j10mr22677912jal.129.1545293549203; Thu, 20 Dec 2018 00:12:29 -0800 (PST) Received: from localhost.localdomain (host-173-230-104-24.mnmigsc.mn.minneapolis.us.clients.pavlovmedia.net. [173.230.104.24]) by smtp.gmail.com with ESMTPSA id f10sm4352122itf.41.2018.12.20.00.12.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 20 Dec 2018 00:12:28 -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] media: si2165: fix a missing check of return value Date: Thu, 20 Dec 2018 02:12:09 -0600 Message-Id: <20181220081209.40807-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 "-EINVAL". 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..c134f312fa5b 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 -EINVAL; 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)