From nobody Sun Feb 8 10:30:15 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0FC74C6FD20 for ; Fri, 24 Mar 2023 13:12:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231545AbjCXNMk (ORCPT ); Fri, 24 Mar 2023 09:12:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59956 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229794AbjCXNMi (ORCPT ); Fri, 24 Mar 2023 09:12:38 -0400 Received: from mail-out.aladdin-rd.ru (mail-out.aladdin-rd.ru [91.199.251.16]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 82A3995 for ; Fri, 24 Mar 2023 06:12:33 -0700 (PDT) From: Daniil Dulov To: Andrew Lunn CC: Daniil Dulov , Vivien Didelot , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Jakub Kicinski , Kurt Kanzenbach , , , Subject: [PATCH] media: dib7000p: Fix potential division by zero Date: Fri, 24 Mar 2023 06:12:09 -0700 Message-ID: <20230324131209.651475-1-d.dulov@aladdin.ru> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.0.20.32] X-ClientProxiedBy: EXCH-2016-02.aladdin.ru (192.168.1.102) To EXCH-2016-01.aladdin.ru (192.168.1.101) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Variable loopdiv can be assigned 0, then it is used as a denominator, without checking it for 0. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: 713d54a8bd81 ("[media] DiB7090: add support for the dib7090 based") Signed-off-by: Daniil Dulov --- drivers/media/dvb-frontends/dib7000p.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/dvb-frontends/dib7000p.c b/drivers/media/dvb-fro= ntends/dib7000p.c index 55bee50aa871..bea5717907e7 100644 --- a/drivers/media/dvb-frontends/dib7000p.c +++ b/drivers/media/dvb-frontends/dib7000p.c @@ -497,7 +497,7 @@ static int dib7000p_update_pll(struct dvb_frontend *fe,= struct dibx000_bandwidth prediv =3D reg_1856 & 0x3f; loopdiv =3D (reg_1856 >> 6) & 0x3f; =20 - if ((bw !=3D NULL) && (bw->pll_prediv !=3D prediv || bw->pll_ratio !=3D l= oopdiv)) { + if (loopdiv && (bw !=3D NULL) && (bw->pll_prediv !=3D prediv || bw->pll_r= atio !=3D loopdiv)) { dprintk("Updating pll (prediv: old =3D %d new =3D %d ; loopdiv : old = =3D %d new =3D %d)\n", prediv, bw->pll_prediv, loopdiv, bw->pll_ratio); reg_1856 &=3D 0xf000; reg_1857 =3D dib7000p_read_word(state, 1857); --=20 2.25.1