Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3979849pxv; Mon, 19 Jul 2021 13:30:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyiiFMGUPfv4fa2t/sRfPkbbO+0vQyuFAVJmikx5zV9+s6nn/1RBDE5Yqrg5RRkCIqZ1HrV X-Received: by 2002:a05:6402:5170:: with SMTP id d16mr36346289ede.300.1626726619413; Mon, 19 Jul 2021 13:30:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626726619; cv=none; d=google.com; s=arc-20160816; b=YoFpfI9SCoxQs7CelW6/55ylM+1CryYbZ75iK9LBNmz0HP0bZ/L9Bw2g2KptxAFUJ/ uRjIUmE3xaDjabCpuADLMKwGxAOfyekiesk/pk4mFM9SCI6yQztBPyrfPqnJydgWIG5o iFLu/tPlid560PWdK/xpWD9QPP6b35HzoJ0myQ1CTXgTITxQgfxxgJ9na5J2oPaeeC+h gd9XIbkBCwXq6cPuuL9mSSjJPIWlui9TknkJuSRIt+7kFtsKIJFp2FKv0TIjWuDgYA2u k8VYg6Al37AxP/4Q9vsZECDng3iSP+BR/xDJ/n1ayNSGOYplQXOUfzkt86nqkbEkfrY7 /Y/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:message-id:date:subject:cc:from :ironport-hdrordr:ironport-phdr:ironport-sdr:dkim-signature; bh=OXOnGGPnlJMlgfJA7I8h06LGQvk/TlSh7ooUa6JcARg=; b=SmVpsiX1PIk3iRWT1Z5ibrWcl5w6vYkYg5aOVAePkQPxqneaqReN9beZoGR1lXRGsw K86Z+xtEs5tXfU2Hj3AFfOzHNMq82Qw1ojdcpkfV5xt81VNOwedMNMsMIpTy2yUTduw0 11zpeHAla60htM1m4Q6aRMupgzORsswP//pjzdoQvkN4tXAS2m3GTu3U11D3Kz9mPiHP JluhYt8r3O0XdiYFtTHuyjbJ98H7Ofrmj7MOWcgwnxpnWRFhRRsZebNbcyLX2obzj6cB dviJPB8r6FLMmFH0mC97ZiEb6Idae4JymVdAQSCy2u7+au2PxwvcKImiZaolKu6lPqR4 YodQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@ucr.edu header.s=selector3 header.b=V1wtTXWM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ucr.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e21si22360379ejd.669.2021.07.19.13.29.56; Mon, 19 Jul 2021 13:30:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@ucr.edu header.s=selector3 header.b=V1wtTXWM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ucr.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1386899AbhGSTma (ORCPT + 99 others); Mon, 19 Jul 2021 15:42:30 -0400 Received: from mx.ucr.edu ([169.235.156.38]:18565 "EHLO mx-lax3-3.ucr.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1385804AbhGSTKS (ORCPT ); Mon, 19 Jul 2021 15:10:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ucr.edu; i=@ucr.edu; q=dns/txt; s=selector3; t=1626724258; x=1658260258; h=from:to:cc:subject:date:message-id; bh=MYc29Ou9YlvgD3SQj+KfJB5TjwaCedW7HGkkcEg43K8=; b=V1wtTXWMZSxDiRupegP2Z52NNKoYsMFNcApeYaJgU8FQz2SfL6wiy7s3 dnBQmWWmh3QtlkF2SeQ9HQIshlbUCbaczUlvmCgQLupQSULdoOJj7Lv01 HzTs1V9Pv+acvg+MJWL/Qiqu14xLc7+OK6E0rzuln97VTF54PyVbJbeis eWyeMPpaw+cO/IRJMg934yjOjs/+/dMy+6Ka5Lo+nbWPNhBXFuP8DhmZ9 IYhfoJsySEC9vjNT2FFEClEZmygA/KboDeJUCeNw5cqPAE+gv/5gu6HNx kFVRKjOh44HlaBGxcHBIp9e5pqXLLopr2b7unwe5jFLoI+2IjiJXOF99f g==; IronPort-SDR: qOZlJWHCtCwBrqQhJPfBKDtWvgdrxMzX1junQu1p8vTXRV2gX//0Pnf41IuLyTlxwsld1ZYRFp 6TjM4vmYzXUbwJHuvbmpWu8vik88GpKUmngLa2E5tTMlnyr7fXMAQz0FY+z6E1du5s15Wx0zK1 1+IeXT/A0mwGHGbvxjSrGF5cj4TqLAEUj3nsHD28eW+aCmegf9YK45w40Hy/EndzNqPHTiMC4v X45ml7+wMg/17y9DTNphknHRBnLAyMViVK0j8sc2XADnbgOvt+1UBSlWNUWLPXWyoj6/UDLBtx nZ63hEo3axL+oIFWH7TCZlsI X-IPAS-Result: =?us-ascii?q?A2F6BADz1vVgf8XSVdFagmKDeVUWjUyHEwEBBoFBin2BA?= =?us-ascii?q?oZ8iGaBfAIJAQEBDQEBQQQBAYRXgwACJTQJDgIEAQEBAQMCAwEBAQEBAQMBA?= =?us-ascii?q?QYBAQEBAQEFBAEBAhABAYEMC1kLY4FPgXkGBD2COCmDZQsWFVKBFQEFATUiO?= =?us-ascii?q?YIWAYJhJpotgQQ9jDEzgQGIBgEJDYFjCQEIgSiIfIUXgRmBEIJQgTN1h2+CU?= =?us-ascii?q?ASDFVMoE4JpgRABAQGTUAGoRQEGAoMKHIMRmw5Fg2OCfY5dQpBeAS2QJqo/A?= =?us-ascii?q?goHBhAjgTiCFU0lgWwKgUFNAQIBAgEMAgECAQIBAgECCAEBAo1yATUWji1BM?= =?us-ascii?q?jgCBgsBAQMJjBMB?= IronPort-PHdr: A9a23:OLCA7BK59q90U6FLK9mcuLlmWUAX0o4c3iYr45Yqw4hDbr6kt8y7e hCFvbM21BSQBtWTq6odzbaP4ua4AS1IyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxB sVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexf69+I A+4oAnNucUanIVvJ6UswRfNvndEZv5ayGx1KV+XhRrw+tu88Jt++ClMpvwt8NJNX7/ndKoiV 7xYCzomM2Ex5ML1sBTIUBWC6HgBXGgIixREGwfK4g30UZf3qSv6q/Fy2DKGMs3sTLA7Qiqt4 qF2QxL1kigHNjo58GbKisxsia9QvRysqwBjz4PSfYqYL+R1cL/DctwGRGpBRsdRWDJHAoOgd IsEEu4NMf9Fo4Xhu1cCqB2zBQytBOP00T9Ih3n23aIn2Oo/CA/NwQIgH9MQv3TQsdr+KaMeX O6pwKXNyzjMaO9b1Dnh5ITVaxwtveyAVq90fcbMyUQjEgXIhUiSp4P4JTOYzuQDvXaG4eRuV uyhjHUqpx1trjW12sshkJXFip4Tx1vZ9St52oE1JdigRUF5YN6lEZtQtzydN4BrRc4jQ2Bpu CYgxb0HpZK3YCYHxY86xxHDcfyLaZaH7Q/+VOuIJzpzmX1qdq6liRmo7Uig1vPzVtOy0FtSo SdJjNvBuHAR2xHX6saLVPtw80Sv1zuRyQzd6uBJLEIpmKfaKZMsxr89m5sNvEnfHSL6hFn6g a2Lekgr5OSm6+LqaajlqJ+EL4J4lB3yP6A0lsG8Aek0KBYCU3WH9eimybHu+U/0TK1XgvA3l qTVqo7WKMobq6KjHQNY0Jwv5wihAzqo1tkTgGMJI0hfeB2diojkI1TOIPflAvihm1msizJrx +zePr3mH5XNMmDPkLf/crZ57E5R0A8zwspe55JQE70BOPzzVlLouNzWExM0Nw65z/zoCNV60 YMeVmaPDbGDPKzOtl+I4/ojI+iKZIALpDbwM+Yp6+LqgHMjmlIQfbOl0YUKZHykBPhqPkGUb Hj0jtcEC2gKvw4+TOLwiF2FVD5ef3azXqM85j4hCYKqEZvPS462jbycwCi7BIdaaX5bBVCRC XvobZmLW+8QaCKOJc9sijgEVbmnS4882hCirQz6xKR9LurS5CIYsYnu1MZ65+LNjxE+7z90A NqH02GLUW50mnkERzgs3KBw8gRT0FCGhJl5kfxFEpQH9uFJWwZibcX00udgTd3+R1SSLZ+yV F+6T4D+UnkKRdUrzopLPhsVJg== IronPort-HdrOrdr: A9a23:cOeCDq3cceP+DhupE01bhAqjBLMkLtp133Aq2lEZdPWaSL38qy nApoV96faZskdzZJhfo6HnBEDoexq1nv5ICOEqXItKNzOW3FdAQrsSj7cKAAeMJ8Q9zIRgPG tbHJSWcOeAdGSSRPyXjjWFLw== X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="5.84,253,1620716400"; d="scan'208";a="58093677" Received: from mail-pf1-f197.google.com ([209.85.210.197]) by smtp-lax3-3.ucr.edu with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 19 Jul 2021 12:50:54 -0700 Received: by mail-pf1-f197.google.com with SMTP id s32-20020a056a0017a0b0290336a8d53a3aso8468441pfg.6 for ; Mon, 19 Jul 2021 12:50:53 -0700 (PDT) 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=OXOnGGPnlJMlgfJA7I8h06LGQvk/TlSh7ooUa6JcARg=; b=c44ghtAGkcjnpZ1nuFIh4mcrUZqBYthhxwrMF9i5smaXhguoBqOM3cdzL2txuO2Fai tZGYrDNmdFYXjAMtOwBKHSZU+6K6nlmaukpoo4dgdie6MSdGloeS3PJrQOSp92KLu7QB d3yxyOaAVHPKu5GOnzkahoB6uwh1xE49xgzEXwWeSljVXLhYQJn995y2wIwFqJleGgOS I4Mz8wotXoitb9wgbsjv6SCFlK5YtE4GCEpopyy85tB+dlBQGSw9FSz2WNy0CYkBM0AE HkrOsT23oCqNUBYTBPY4umJusoc06ijxKLcAmXTNthPQy/KzuQUTFrLG7vOUdAAjxsqR jX1Q== X-Gm-Message-State: AOAM531qv2FywqOhqt4cDgWABxhL1WTCeT4WwPvU0IaFow/UN09zmg/X p3FYjPANvTQvg4ucbgTafDS9+aDAMplaPFIhsPmXp+6a8DChBF6LuyuzdyDl/vX4xlSFb6/RrTH oDECI8opszbPChsmHvUqSbpwAhg== X-Received: by 2002:a17:90a:5305:: with SMTP id x5mr31068670pjh.135.1626724253095; Mon, 19 Jul 2021 12:50:53 -0700 (PDT) X-Received: by 2002:a17:90a:5305:: with SMTP id x5mr31068659pjh.135.1626724252863; Mon, 19 Jul 2021 12:50:52 -0700 (PDT) Received: from kq.cs.ucr.edu (kq.cs.ucr.edu. [169.235.27.223]) by smtp.googlemail.com with ESMTPSA id y4sm299857pjg.9.2021.07.19.12.50.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Jul 2021 12:50:52 -0700 (PDT) From: Yizhuo Cc: Yizhuo , Jonathan Cameron , Lars-Peter Clausen , Maxime Coquelin , Alexandre Torgue , Andy Shevchenko , Mark Brown , Mugilraj Dhavachelvan , Olivier Moysan , Krzysztof Kozlowski , Arnaud Pouliquen , linux-iio@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] iio: adc: stm32-dfsdm: Fix the uninitialized use if regmap_read() fails Date: Mon, 19 Jul 2021 19:53:11 +0000 Message-Id: <20210719195313.40341-1-yzhai003@ucr.edu> X-Mailer: git-send-email 2.17.1 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Inside function stm32_dfsdm_irq(), the variable "status", "int_en" could be uninitialized if the regmap_read() fails and returns an error code. However, they are directly used in the later context to decide the control flow, which is potentially unsafe. Fixes: e2e6771c64625 ("IIO: ADC: add STM32 DFSDM sigma delta ADC support") Signed-off-by: Yizhuo --- drivers/iio/adc/stm32-dfsdm-adc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/iio/adc/stm32-dfsdm-adc.c b/drivers/iio/adc/stm32-dfsdm-adc.c index 1cfefb3b5e56..d8b78aead942 100644 --- a/drivers/iio/adc/stm32-dfsdm-adc.c +++ b/drivers/iio/adc/stm32-dfsdm-adc.c @@ -1292,9 +1292,11 @@ static irqreturn_t stm32_dfsdm_irq(int irq, void *arg) struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); struct regmap *regmap = adc->dfsdm->regmap; unsigned int status, int_en; + int ret; - regmap_read(regmap, DFSDM_ISR(adc->fl_id), &status); - regmap_read(regmap, DFSDM_CR2(adc->fl_id), &int_en); + ret = regmap_read(regmap, DFSDM_ISR(adc->fl_id), &status); + if (ret) + return IRQ_HANDLED; if (status & DFSDM_ISR_REOCF_MASK) { /* Read the data register clean the IRQ status */ @@ -1303,6 +1305,9 @@ static irqreturn_t stm32_dfsdm_irq(int irq, void *arg) } if (status & DFSDM_ISR_ROVRF_MASK) { + ret = regmap_read(regmap, DFSDM_CR2(adc->fl_id), &int_en); + if (ret) + return IRQ_HANDLED; if (int_en & DFSDM_CR2_ROVRIE_MASK) dev_warn(&indio_dev->dev, "Overrun detected\n"); regmap_update_bits(regmap, DFSDM_ICR(adc->fl_id), -- 2.17.1