Received: by 2002:a05:7412:40d:b0:e2:908c:2ebd with SMTP id 13csp652162rdf; Tue, 21 Nov 2023 12:23:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IHrlpracMHoCHQUVm8xE0ImvY7XvQSFWwAtJwqKBdr+p6fhc57LD/JK/DwT3Kf4FoEldxDF X-Received: by 2002:a05:6e02:1286:b0:35b:bdf:aca4 with SMTP id y6-20020a056e02128600b0035b0bdfaca4mr80582ilq.7.1700598200077; Tue, 21 Nov 2023 12:23:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700598200; cv=none; d=google.com; s=arc-20160816; b=T454upK7JunHkCl9yOFAwn5437v4GCUBU2jAs/V/0sLBUc0gWQk/F4m8lN5HxJy+xL 7cABb/fkWEVWz0qb+W/SuXcCjFxpNky38DSrSDlz+VHP7b5mNpVUmIg0FY7imgcFO5zF uIQQrgwBc/CtdtP0jhBRLLBX0FrHLG+4O+Vn3Wma8rs2gh+cNyBFDg7zyttZLp1lisX5 oTTef59ggt6YVOpaag8y520q5xZkRyn4TNRPIbVhBOQxRtXIlladV7Ul8SYMIebFLtvD 6Q9DiqZKhW4THVW6eGWInFURnYQmxC+MrUOf+HyIyEPIhuwTeb22rI8pcJ8wEJt+P/ei jMUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version; bh=WBCsPJN92TFAicLTjTBTyye/RLUL9G3bawWUxXUBvTo=; fh=HkEcwKkYebAn/aVdJL6M6PbEQpupGFTa4pnWhXmQS40=; b=Zobd0BDfFnEad7C/K3tZrtcAuaUijDUpRHOuPhnZSItGxDtgB9AtOqgyOZm4UrbDDB nimj+cUYuPBsYMT0pjV4ehra/CcAlxRflZmoNEbLwFPR4Qqhyns4q/ZGpet859E2Btt0 03rskpuhKnpCRetEu0CZf2mrmz2mSLtPQXcB+/ASOtzvcXVVrXsv+/GRQ6HhHswNZ+7Z XQNYHHydint1Hkbu1DkrgaEWe7eUyIgWNnK/3UBSVueDVvFkpRZWn8xDraY3iRDfpPnk nj97a5yqKaVpUIpTvLMuhG6/vlKIHLfTyBMPlrHliZakdWimnTKB3ZEch8rkidP61nEH Gv8A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id e189-20020a6369c6000000b005be10674e50si10771896pgc.721.2023.11.21.12.23.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 12:23:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id AC9AE80CA0B0; Tue, 21 Nov 2023 12:23:17 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230492AbjKUUPF convert rfc822-to-8bit (ORCPT + 99 others); Tue, 21 Nov 2023 15:15:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60832 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229495AbjKUUPD (ORCPT ); Tue, 21 Nov 2023 15:15:03 -0500 Received: from mail-oo1-f51.google.com (mail-oo1-f51.google.com [209.85.161.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B1C11A1; Tue, 21 Nov 2023 12:15:00 -0800 (PST) Received: by mail-oo1-f51.google.com with SMTP id 006d021491bc7-58a106dd421so289493eaf.0; Tue, 21 Nov 2023 12:15:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700597699; x=1701202499; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UP8hESYtpQcRpZlJ15KqFtLFayiF39ggrDfb/BLbyrA=; b=iMx9WpSq/ej2bmuLlFxH0mbn5K7UfYeheDIP7skrPvXQ1QPVksdQZDNGfMAfWkX8M2 WRSwPSVPyaCihLop6w2GD4suAzLe5Z7xGz86URgKPuF/pQtNWv7qt21Xgvuz7Ej+HL5n k/R8vg6LoS9Zy5p7a9KG4xLpePEQ+WCCA15fHb9x1wrFnS/JVPK/cYQQhE0ONqM1dXB8 v9cyEa0clvc73wWlAhvGsNUjV6EmPUuSKN50ivPWegUXpnkvep0bnp/xZE2x5AqhNAt2 9RHZHhjCv6ucBE/hsbYv8Xzc6ZINHoqDkBQPqaZ0GK98SjJtkFiVW8boALzRr/YHKsRH FGOg== X-Gm-Message-State: AOJu0Yw73U3mtGd8tidEe5boRGye8oNmHATw1HwuVExYQLSyqqD/n2CB RQF5nqXak6H8wrqo0cPiLUmM2cDQt6xKpOUH5Vc= X-Received: by 2002:a4a:a604:0:b0:589:daaf:44a1 with SMTP id e4-20020a4aa604000000b00589daaf44a1mr574171oom.0.1700597699531; Tue, 21 Nov 2023 12:14:59 -0800 (PST) MIME-Version: 1.0 References: <430a1271-a45c-4f5a-90c7-a62703ac7cf4@ancud.ru> In-Reply-To: From: "Rafael J. Wysocki" Date: Tue, 21 Nov 2023 21:14:48 +0100 Message-ID: Subject: Re: [PATCH] ACPI: LPIT: fix u32 multiplication overflow To: Nikita Kiryushin Cc: Len Brown , Srinivas Pandruvada , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, lvc-project@linuxtesting.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 21 Nov 2023 12:23:17 -0800 (PST) On Tue, Nov 21, 2023 at 8:56 PM Rafael J. Wysocki wrote: > > On Thu, Nov 9, 2023 at 7:09 PM Nikita Kiryushin wrote: > > > > In lpit_update_residency there is a possibility of overflow > > in multiplication, if tsc_khz is large enough (> UINT_MAX/1000). > > That would be a TSC ticking at hundreds of millions of kHz if I'm not > mistaken. That should be "hundreds of thousands of kHz", so I was mistaken. But anyway: > Why is it really a concern? > > > Change multiplication to mul_u32_u32. > > So why is this better? > > > Found by Linux Verification Center (linuxtesting.org) with SVACE. > > > > Fixes: eeb2d80d502a ("ACPI / LPIT: Add Low Power Idle Table (LPIT) support") > > Signed-off-by: Nikita Kiryushin > > --- > > drivers/acpi/acpi_lpit.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/acpi/acpi_lpit.c b/drivers/acpi/acpi_lpit.c > > index c5598b6d5db8..794962c5c88e 100644 > > --- a/drivers/acpi/acpi_lpit.c > > +++ b/drivers/acpi/acpi_lpit.c > > @@ -105,7 +105,7 @@ static void lpit_update_residency(struct > > lpit_residency_info *info, > > return; > > info->frequency = lpit_native->counter_frequency ? > > - lpit_native->counter_frequency : tsc_khz * 1000; > > + lpit_native->counter_frequency : mul_u32_u32(tsc_khz, 1000U); > > if (!info->frequency) > > info->frequency = 1; > > -- 2.34.1 > >