Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp4587807pxv; Tue, 29 Jun 2021 10:25:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwssKvuxz+w9weZuJf81lUVTaJ9nNghKTfnPJrK/4v3q4IwCy5RMYZ6YyHgSBujkYDcKAOE X-Received: by 2002:aa7:d78b:: with SMTP id s11mr6913200edq.280.1624987542181; Tue, 29 Jun 2021 10:25:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624987542; cv=none; d=google.com; s=arc-20160816; b=QCoaqyhcgp3tzyRdk/Ku+sKya8NnhHwo3bVEaMTguNp2CxFDX2vZLyCpPA0Gmu1qcv vs1za4d9wMOCdJKQOy0lUYwEiP1I9YoapFehI9lM2SbtVclif/ceSHfEi0dEID8gjItz AHRyZarJg6EkU0XoU3KmUFHfPMlJ8RIhA438L2rGV8a9yxXOs7ZBmU92CqYydwfQblnn paBqKEj8jpkBZz+cbF6bOLurMArGCVtwo/rKaAII+F3SG1W0XRWmeYnhXFA9J611kFay fMh1yD0bnl9Im39jaFli/G7VwAuBjVU1ffZe2fV9A0gmh6Vj3XtbUEoH3BQfbHDCH9VW KjzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=X4d3JoUt+m8rSMBc2/9ASBLaiW6okIouVQef6xghGPE=; b=KlYMrGhl4OD6OhZCZHAZW3AJQHZOjbTFJOMb3nT4f5MdIB+/xqhqggZDiVkQNQca+t xzGQSdrN5qhZR9Rc2ket7PZ6SZTjf6YKMBL0EtdL+4oiCLZWrqbnWlmkbaJqfUs0jL1v /7zjE8SKrKy/3w06Evt95MhqWBx5ORc7M4ewkBCtTdb7/XnIEh2S0CbIyoMwYjGjIewT r4ro2Fn9MHV01fkGoKs0uHeKsPntCmT7kzJi+gyTDK9qRdp+lebB6HB8ILqcBoT0dsE+ X2MdMbaIS+iyoydwCE3VcEq6PXWgEuplNE700kRt2K/0gADitji9aP/UMl69/mFogvnj SFyA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 23si18961166ejg.6.2021.06.29.10.25.18; Tue, 29 Jun 2021 10:25:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234107AbhF2RYE (ORCPT + 99 others); Tue, 29 Jun 2021 13:24:04 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:45275 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234009AbhF2RYE (ORCPT ); Tue, 29 Jun 2021 13:24:04 -0400 Received: from 1.general.cking.uk.vpn ([10.172.193.212]) by youngberry.canonical.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1lyHQS-00034B-QX; Tue, 29 Jun 2021 17:21:32 +0000 Subject: Re: [PATCH][next] trace: osnoise: Fix u64 less than zero comparison To: Daniel Bristot de Oliveira , Steven Rostedt Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, Dan Carpenter , Ingo Molnar References: <20210629165245.42157-1-colin.king@canonical.com> From: Colin Ian King Message-ID: Date: Tue, 29 Jun 2021 18:21:32 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 29/06/2021 18:19, Daniel Bristot de Oliveira wrote: > On 6/29/21 6:52 PM, Colin King wrote: >> From: Colin Ian King >> >> The less than zero comparison of the u64 variable 'noise' is always >> false because the variable is unsigned. Since the time_sub macro >> can potentially return an -ve vale, make the variable a s64 to >> fix the issue. > > Ops! concurrent bug fixing. Well, shows static analysis is doing it's thing and I'm not being vigilant enough by spotting that Dan found it earlier :-) > > Dan Carpenter reported the same bug (and another problem), and I was working in > the patches... I saw yours after sending his ones: > > https://lore.kernel.org/lkml/acd7cd6e7d56b798a298c3bc8139a390b3c4ab52.1624986368.git.bristot@redhat.com/ > > The patches do the same fix, but there it also: > > - Made also max_noise s64 (it is snapshot of noise). > - Arranged the declarations in the inverted christmas tree. > >> Addresses-Coverity: ("Unsigned compared against 0") >> Fixes: bce29ac9ce0b ("trace: Add osnoise tracer") >> Signed-off-by: Colin Ian King > > Steven, can we merge the flags? > > -- Daniel > >> --- >> kernel/trace/trace_osnoise.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/kernel/trace/trace_osnoise.c b/kernel/trace/trace_osnoise.c >> index 38aa5e208ffd..02c984560ceb 100644 >> --- a/kernel/trace/trace_osnoise.c >> +++ b/kernel/trace/trace_osnoise.c >> @@ -1040,11 +1040,11 @@ static void osnoise_stop_tracing(void) >> static int run_osnoise(void) >> { >> struct osnoise_variables *osn_var = this_cpu_osn_var(); >> - u64 noise = 0, sum_noise = 0, max_noise = 0; >> + u64 sum_noise = 0, max_noise = 0; >> struct trace_array *tr = osnoise_trace; >> u64 start, sample, last_sample; >> u64 last_int_count, int_count; >> - s64 total, last_total = 0; >> + s64 noise = 0, total, last_total = 0; >> struct osnoise_sample s; >> unsigned int threshold; >> int hw_count = 0; >> >