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=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 70DD6C76196 for ; Fri, 19 Jul 2019 04:24:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4B44F20873 for ; Fri, 19 Jul 2019 04:24:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1563510299; bh=Fwbz9+4eOTpQ1RBOSTbUP0B1uLGGauxD2Hh7BLFNjko=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=mqTc6eF7gRJrJTKd1F5eA5VobSRQqN6VXNbKblO/PGBv+gn7hg2URezH70nmoQAfs Gqj4gj8NcL1WC3aCgl857DS7QuH0LzqxqX95eBN5AmY55/x86meMLT7vUIrHwixxRu rbVdy0cS2kOtMG4P4LDClHQAYZJy7lRWZxo6zCC0= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387534AbfGSEJW (ORCPT ); Fri, 19 Jul 2019 00:09:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:43836 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387515AbfGSEJV (ORCPT ); Fri, 19 Jul 2019 00:09:21 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 832F3218BB; Fri, 19 Jul 2019 04:09:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1563509360; bh=Fwbz9+4eOTpQ1RBOSTbUP0B1uLGGauxD2Hh7BLFNjko=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rbLgRTbT0RWAw9JD5ET26ro5CULYd4mnU3CNd68sHb3/8uf2C5yWMaSM38nDSPX+H PHSvvL6oKmcty6uJPuXzD9559zr97ekdFDe2dAoVGvTxODhDInD7/C+YeVlr85C2lK RzTbnmVVYXF7mXUt9LTdMLPWdtZZYCHc0z5zk3rU= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Nathan Chancellor , Charles Keepax , Lee Jones , Sasha Levin , patches@opensource.cirrus.com, clang-built-linux@googlegroups.com Subject: [PATCH AUTOSEL 4.19 053/101] mfd: arizona: Fix undefined behavior Date: Fri, 19 Jul 2019 00:06:44 -0400 Message-Id: <20190719040732.17285-53-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190719040732.17285-1-sashal@kernel.org> References: <20190719040732.17285-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Arnd Bergmann [ Upstream commit 5da6cbcd2f395981aa9bfc571ace99f1c786c985 ] When the driver is used with a subdevice that is disabled in the kernel configuration, clang gets a little confused about the control flow and fails to notice that n_subdevs is only uninitialized when subdevs is NULL, and we check for that, leading to a false-positive warning: drivers/mfd/arizona-core.c:1423:19: error: variable 'n_subdevs' is uninitialized when used here [-Werror,-Wuninitialized] subdevs, n_subdevs, NULL, 0, NULL); ^~~~~~~~~ drivers/mfd/arizona-core.c:999:15: note: initialize the variable 'n_subdevs' to silence this warning int n_subdevs, ret, i; ^ = 0 Ideally, we would rearrange the code to avoid all those early initializations and have an explicit exit in each disabled case, but it's much easier to chicken out and add one more initialization here to shut up the warning. Signed-off-by: Arnd Bergmann Reviewed-by: Nathan Chancellor Signed-off-by: Charles Keepax Signed-off-by: Lee Jones Signed-off-by: Sasha Levin --- drivers/mfd/arizona-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index 5f1e37d23943..47d6d40f41cd 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -996,7 +996,7 @@ int arizona_dev_init(struct arizona *arizona) unsigned int reg, val; int (*apply_patch)(struct arizona *) = NULL; const struct mfd_cell *subdevs = NULL; - int n_subdevs, ret, i; + int n_subdevs = 0, ret, i; dev_set_drvdata(arizona->dev, arizona); mutex_init(&arizona->clk_lock); -- 2.20.1