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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 92AAFEDE9A7 for ; Tue, 10 Sep 2024 16:54:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=g25Ru7xbbTB3wDSvtSavAzlRmQz6Xvdop91thyf32UM=; b=iybr93/X45TISbEiM8fhrsmNsb OIGCuoS0cLv33aQ/+LVzeVB41QEuQmAzpAWfKU7gIrZvVjxv63QfyZFKHsCOb5e3yyF2gWeSqEwom y62DN5ScT8UILUhYKdd9/OSRyB0TyBLITWS2nT1z9+DLHk7N+gEzLCwjF6bJglA9fPdKpP2LKG8kI Rfzh2D9/MiLIQvab20uVeQh1hzdSQMD7zdSMkw3bvuLibfxd2rt/maxsnuxGwsICvDNBWdzv2pj9d OZk2vg+BO+b3zfHLsHQzAm3y5k6EQqN3Nf/8VjgJF/PC4nGyd9odCgZNKT8MGTFCgvTDBuYNfoM6F SwGue0Dw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1so47t-00000006QnT-0Mdl; Tue, 10 Sep 2024 16:54:01 +0000 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1so46q-00000006Qbr-0zQp for linux-arm-kernel@lists.infradead.org; Tue, 10 Sep 2024 16:52:58 +0000 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-718e2855479so2587742b3a.1 for ; Tue, 10 Sep 2024 09:52:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1725987174; x=1726591974; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=g25Ru7xbbTB3wDSvtSavAzlRmQz6Xvdop91thyf32UM=; b=QKEf2gqfruWaauKJr7qWKAHHa/VOFyxYGe6VPuGZv0XabEnz9qWBeJkbtUjW3LbTFk M1IvjGIJ47M/Ui5Di30VunXAh5jSU/qVebeX1MkwfAsfnq0HCCU0YkGvDDrB7EHciwQz D+ks4oSIH+keV9w1dtfqA/CPKya2hyDBE+5do3P1C+pegiVWTo53B3aGXU1fxtdZBcOP pfVD9/u52gWkM59k7CI+/bV7DA4lZPR8g8uEcshrmaT2GpaDQu6MRptdRpVQRHl3Vl5v oF9hQayhGNCrYsF0m/PPT+oOg1LIbQKIJkOK6IBWdJBf6S4mqZmYzTYIhZStTUvYgYEE RIoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725987174; x=1726591974; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=g25Ru7xbbTB3wDSvtSavAzlRmQz6Xvdop91thyf32UM=; b=J6LJCTFG3tlF8R2FTRaphNq/I/2QMCUoqXi5J5HbacgtJ4sBPvPwkvU3nyrkoQRuwU c+tPof4WiBnHbPx6s9W6UJRI0eTanG9hP/2ROl4r1LRQER2pRdE8Yc/nfNJT2v7zvZWK 87cP5nFt9jFfu+Vh6B0qTSFTUbbkTM+ZVvyUASINW9bPoK1oR2RnZrwKfpZWw6gBR1ca nkuqHCiOKLCbndqjEResAyzIhrRDWUKtw5svsnKsrBnlw12ArloP+xpLmfFRd2HzP/+Y Y9oMdVkdsNcMPgQJflr/ukqLSFdD5A12kTqHKd5mIy3pJ38D0bvCpkRK2HWCcN8p1YuA HCbw== X-Forwarded-Encrypted: i=1; AJvYcCX9NqY2oUrcxJwn7zCA4jbXcClivxZcSHfC6yKg2cV15aEO7g/lmwi/GV+w/DpDAcmse0N5m27NOlvDhCFVmw5c@lists.infradead.org X-Gm-Message-State: AOJu0Yx8APCnhMh+6qGittF8qybI4aMbctclp538cX+gNqPXMbde9zeV aGXC0AkR2xJJHMm7sPDzsEN2IMpfkuWHuqlXoN9R7/+OQ0CG5INxGuYVNdgDwA== X-Google-Smtp-Source: AGHT+IGT8gCwyZvdGRQRZlzo82GU5AwgsS0cQ+zQt7rE2+MgonPozA5gcDhFM9k5t3u/0UbEHmZSnQ== X-Received: by 2002:a05:6a21:1707:b0:1cf:2aaa:9199 with SMTP id adf61e73a8af0-1cf5e075815mr1579531637.15.1725987173970; Tue, 10 Sep 2024 09:52:53 -0700 (PDT) Received: from thinkpad ([120.60.128.228]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2dadc03f5aesm8775980a91.28.2024.09.10.09.52.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Sep 2024 09:52:53 -0700 (PDT) Date: Tue, 10 Sep 2024 22:22:42 +0530 From: Manivannan Sadhasivam To: Anastasia Belova Cc: Michael Turquette , Stephen Boyd , Andreas =?utf-8?Q?F=C3=A4rber?= , "open list:COMMON CLK FRAMEWORK" , "moderated list:ARM/ACTIONS SEMI ARCHITECTURE" , "moderated list:ARM/ACTIONS SEMI ARCHITECTURE" , open list , lvc-project@linuxtesting.org, stable@vger.kernel.org Subject: Re: [PATCH] clk: actions: prevent overflow in owl_pll_recalc_rate Message-ID: <20240910165242.v6jcirmtbahxqggx@thinkpad> References: <20240910130640.20631-1-abelova@astralinux.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240910130640.20631-1-abelova@astralinux.ru> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240910_095256_326937_EADA23B4 X-CRM114-Status: GOOD ( 20.17 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Sep 10, 2024 at 04:06:40PM +0300, Anastasia Belova wrote: > In case of OWL S900 SoC clock driver there are cases > where bfreq = 24000000, shift = 0. If value read from > CMU_COREPLL or CMU_DDRPLL to val is big enough, an > overflow may occur. > > Add explicit casting to prevent it. > > Found by Linux Verification Center (linuxtesting.org) with SVACE. > > Fixes: 2792c37e94c8 ("clk: actions: Add pll clock support") > Cc: > Signed-off-by: Anastasia Belova Currently, val is limited to 8 bits max on the supported SoCs. So there won't be any overflow. But for the sake of correctness, I'm OK with this patch. Reviewed-by: Manivannan Sadhasivam - Mani > --- > drivers/clk/actions/owl-pll.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/actions/owl-pll.c b/drivers/clk/actions/owl-pll.c > index 155f313986b4..fa17567665ec 100644 > --- a/drivers/clk/actions/owl-pll.c > +++ b/drivers/clk/actions/owl-pll.c > @@ -104,7 +104,7 @@ static unsigned long owl_pll_recalc_rate(struct clk_hw *hw, > val = val >> pll_hw->shift; > val &= mul_mask(pll_hw); > > - return pll_hw->bfreq * val; > + return (unsigned long)pll_hw->bfreq * val; > } > > static int owl_pll_is_enabled(struct clk_hw *hw) > -- > 2.30.2 > -- மணிவண்ணன் சதாசிவம்