Received: by 2002:a05:7412:b101:b0:e2:908c:2ebd with SMTP id az1csp3310717rdb; Thu, 16 Nov 2023 06:21:25 -0800 (PST) X-Google-Smtp-Source: AGHT+IG7pJfIKIENodyj52gSEgLMo84bQm+ouLtgVd8VJK6bwPHpweEGf3BF/zXvk0GxW6LTNk3m X-Received: by 2002:a05:6a20:9143:b0:187:f40f:78ba with SMTP id x3-20020a056a20914300b00187f40f78bamr82241pzc.26.1700144485252; Thu, 16 Nov 2023 06:21:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700144485; cv=none; d=google.com; s=arc-20160816; b=YZunCwBYWllSZfk4JShTejRIMuMJ0RXqm2X24UIWNTalxxf3tcZNN8lU3TT7mXwv/u 06aPDA45Lx7jbNNhb0RAMvRmsPWg1h98pddGmF4MyB1o0RkDwUplOFJ/HBdURiflts7d cmkPH/s1DDMH+CU0bnw5LK2S5xwzGVCBAL/FdfO/wiQ/lGZAoXldPHt9qDDP8eRnYVXm r2l69bFetnC0tts8WZG1MDZoUge8RoGfy4H4GozY1SvvILKXRKO2IEdfLE3z3rVGnZPn f2RTa/c2mQkPPWMyCzycDFlvJqN5pa8m2/2bJ0ZxfWBZKKDWlWeBWkFoYAC+d2H4PgQU 4mJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=xAIbtQVq3/h1ixrAMpfMklhlNT49iaEWEzKlWqxp+Ag=; fh=dlvcy3mIqaKcYqOx94uadF2kq/V1isb2muNIkY9Zf54=; b=sPWOOD+gg6Xs8WU6/hY/0nc56YshQ1sbDSst6Ro72u5UDHHWKxiRnlxfvL0mXKbsnm mpJlofU/7MSDv/MriZg2gv4ifTX8Zbsuba/PKPszS4Kq0mXFnzItLRyTdCHDxkdoeml0 yreW7gaz4A50cPbInsuprDikvQVyhfpR7Arj+bu1YWmSHwAQ4czSZiqs30b7+OUSEOWF /x9LziOWS2cRs/kFNVoBQ1Q0nkCcrRsI0zJ6CtVNXjayxe5J2uKjSMhY0g/WwBEOx1st y4OM7RwnZYCczL6xexvT/qFSkItMoCX383uvsiqRnfpY12/UmmFEpeh1RWI6uUX6V3n+ 3jQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=JObB02V8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id 25-20020a631759000000b005b938759695si12300933pgx.886.2023.11.16.06.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Nov 2023 06:21:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=JObB02V8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id E8047803416B; Thu, 16 Nov 2023 06:21:21 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233253AbjKPOU3 (ORCPT + 99 others); Thu, 16 Nov 2023 09:20:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43498 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233460AbjKPOU2 (ORCPT ); Thu, 16 Nov 2023 09:20:28 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AEDE7B7; Thu, 16 Nov 2023 06:20:24 -0800 (PST) Received: from [100.107.97.3] (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: kholk11) by madras.collabora.co.uk (Postfix) with ESMTPSA id 91DA5660734A; Thu, 16 Nov 2023 14:20:22 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1700144423; bh=ZMRVAirW+Pu2sFESR0obPaFqwe7OSdUCQUq2ssj/2yQ=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=JObB02V8WU+UpDz1JIJ+vhbd6xHmLx0ZPw2KUzl5TrGm0RAYNe68af6NSnnD7a9KJ YCfJgZIY/QWfYWIWt5gwHUvHYqahT3DDvbQ/o7P9st16hj8OfMHeJ43ZMJ4+sLYeuQ JvPdbfPuF4xbudSvACvRzXnvjYPMMSQpj+VO8XzUTQb48IDpIBB3Pn2K+bshuOfXaP eoUx9X9BbUF2ZfDATL3R6FyYpJAk/AqTNcZVNMzC4rBgtsRiJimpfFfNr6JyjrW9Fh 4NVtvIi3K1odj6+qXlDQZ0qFfvVRjc2yAcJggUf9iwNMj4LkiIGPgmRxf+RybYUfsM U9zME0yMW3Dxw== Message-ID: <4118d15a-a70c-457d-8f62-d4f61f1157de@collabora.com> Date: Thu, 16 Nov 2023 15:20:20 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] cpuidle: idle exit_latency overflow Content-Language: en-US To: Bo Ye , "Rafael J. Wysocki" , Daniel Lezcano , Matthias Brugger Cc: yongdong.zhang@mediatek.com, mtk24676 , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org References: <20231116132619.69500-1-bo.ye@mediatek.com> From: AngeloGioacchino Del Regno In-Reply-To: <20231116132619.69500-1-bo.ye@mediatek.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,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 groat.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 (groat.vger.email [0.0.0.0]); Thu, 16 Nov 2023 06:21:22 -0800 (PST) Il 16/11/23 14:26, Bo Ye ha scritto: > From: mtk24676 > > In detail: > In kernel-6.1, in the __cpuidle_driver_init function in > driver/cpuidle/driver.c, there is a line of code that causes > an overflow. The line is s->exit_latency_ns = s->exit_latency > * NSEC_PER_USEC. The overflow occurs because the product of an > int type and a constant exceeds the range of the int type. > > In C language, when you perform a multiplication operation, if > both operands are of int type, the multiplication operation is > performed on the int type, and then the result is converted to > the target type. This means that if the product of int type > multiplication exceeds the range that int type can represent, > an overflow will occur even if you store the result in a > variable of int64_t type. > > Signed-off-by: mtk24676 It all makes sense, but "mtk24676" is not the name of a person, what's going on? > Signed-off-by: bo.ye That's the same, you perhaps wanted to write "Bo Ye", not "bo.ye". Regards, Angelo > --- > > diff --git a/drivers/cpuidle/driver.c b/drivers/cpuidle/driver.c > index d9cda7f..631ca16 100644 > --- a/drivers/cpuidle/driver.c > +++ b/drivers/cpuidle/driver.c > @@ -187,7 +187,7 @@ > s->target_residency = div_u64(s->target_residency_ns, NSEC_PER_USEC); > > if (s->exit_latency > 0) > - s->exit_latency_ns = s->exit_latency * NSEC_PER_USEC; > + s->exit_latency_ns = (u64)s->exit_latency * NSEC_PER_USEC; > else if (s->exit_latency_ns < 0) > s->exit_latency_ns = 0; > else