Received: by 10.223.185.116 with SMTP id b49csp2127854wrg; Mon, 12 Feb 2018 04:56:25 -0800 (PST) X-Google-Smtp-Source: AH8x226Vd5HzNPmwpiY3GNbVK1+4P6bKNLarQB05Jl2DF3PWua5oKfnsMCTKi+DnYCJzLgAZUMgy X-Received: by 2002:a17:902:aa85:: with SMTP id d5-v6mr11062005plr.239.1518440185050; Mon, 12 Feb 2018 04:56:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518440185; cv=none; d=google.com; s=arc-20160816; b=G8Gz9dlSGXsvBW/QckiSWbJCJXYaJzMTWb5VquvXCkK6qaFZlfU1VZJPCME01o6+Bi C6oVLH87a3p9KoYia0LSzN5K6jACDLTscX4KwVCGdWDScXBX+b5Xa2MOSCsMdKwD7aQJ jN9YH1hDjYCblIt9+nLznIXZE92oiUqJ3r3UVkD+2zywhYAOlHhdKiTQxa18eCF20m8l OO6NkrKO6MZxnNxzZ79eXkvzphzOmuPHtfiUDAWUyr++0mbcvUKF4yDx8EEk/4fPFifv FMmiyB9YaopNYFSw8yiId9ZTPmxS/X5NgwnEWZz/lVPYJHNUJpqaf7PE3JZtU/MLNTD8 ckmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=ZVt0Tc5V+t0hIwuAnv3Z/2H7+wyFhype30uAknUVALk=; b=CDCMzBm2dJJUCt+T0kRaZlLIKkUzB7aSU1Zfyoj9xQGbVgc9TkUxM3ftyyvAdgc0LJ FcWv0OPN0awSrEH31A3VltGn4+aniCFwFQX9Nrz6Q+945qwUTODjMwkZhrCek+y9b7iR LDZ59CSkVsdC1deOp0zgEUtPFc+p1/x0si5qYuQQrs/vPmg7R12vAi6s/4gW9SPQYz61 8TBtV/2xQJMD7AZu2UVbflUWO05zey3aGMEbkIwOCgqJykHoZvH19lzcJSBxwavMMsBB /t7bQtd4RaHasqTdcVvG9N0rNH7gQTotaKNdyxd6vCEgBC7g1LpoFeyEYmJuhmt7wh0U ufoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NvOde01P; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f76si4595552pfe.323.2018.02.12.04.56.10; Mon, 12 Feb 2018 04:56:25 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NvOde01P; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933857AbeBLK3F (ORCPT + 99 others); Mon, 12 Feb 2018 05:29:05 -0500 Received: from mail-pl0-f65.google.com ([209.85.160.65]:43156 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932868AbeBLK3D (ORCPT ); Mon, 12 Feb 2018 05:29:03 -0500 Received: by mail-pl0-f65.google.com with SMTP id f4so4821163plr.10 for ; Mon, 12 Feb 2018 02:29:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=ZVt0Tc5V+t0hIwuAnv3Z/2H7+wyFhype30uAknUVALk=; b=NvOde01PQAs+tKjUEK9qI+Ipd0o5ptrM6ySkClThaczqoW6BioUCojRQASCt/HW9OD 4jEUDsH3X2bo//NWouvo42urTbHAzdoEHl+MbVoMU/5/LfnjlxfJUV9knktki4Dy3LgC khbE0amhJif9pO/XVHseyFcY1swQPjpQsgfak= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=ZVt0Tc5V+t0hIwuAnv3Z/2H7+wyFhype30uAknUVALk=; b=I6GvwKUooJ2z/qIvYhwp8UT+yMubkMyLXl/sFxPq1BmspCgY5MutHuquYn+7XUUVfw OQsLveFO0FmlSgM5Lvh91VaZ08R2brfcySsVpK1MELGaEkvqF6ffafl7/7stzjMdbzGp a1KYBB37SPUSNJerVlW6UWXmwGijPoeZ+zwwCbppsnQYmj/vX/EpendnhNNOlq/tfa3V 1VgAijRcA/ACmyns8HhiiWDd6p9wL1w+Pha4+TB/tPcVlRUFvKWAFJu4BHTcK9ITNFnf eYX6qPD9KaJdXFaWHcAXmuMiSPxlyOhU617LI2TVVCE23BQ5JPIzutQuakmgZfaQbAv6 oUKg== X-Gm-Message-State: APf1xPB01GZd2d0qPCzJ0FwpUW41OllNZUdAPiNe4CBp47x5pr1E4L5p 14qlh0zM61aQoOByDGR1rX+MYQ== X-Received: by 2002:a17:902:a983:: with SMTP id bh3-v6mr10320371plb.237.1518431343318; Mon, 12 Feb 2018 02:29:03 -0800 (PST) Received: from localhost ([122.172.134.6]) by smtp.gmail.com with ESMTPSA id d2sm35571109pfl.135.2018.02.12.02.29.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Feb 2018 02:29:02 -0800 (PST) Date: Mon, 12 Feb 2018 15:59:00 +0530 From: Viresh Kumar To: Shilpasri G Bhat Cc: rjw@rjwysocki.net, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, mpe@ellerman.id.au Subject: Re: [PATCH] cpufreq: powernv: Check negative value returned by cpufreq_table_find_index_dl() Message-ID: <20180212102900.GU28462@vireshk-i7> References: <1518430876-24464-1-git-send-email-shilpa.bhat@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1518430876-24464-1-git-send-email-shilpa.bhat@linux.vnet.ibm.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12-02-18, 15:51, Shilpasri G Bhat wrote: > This patch fixes the below Coverity warning: > > *** CID 182816: Memory - illegal accesses (NEGATIVE_RETURNS) > /drivers/cpufreq/powernv-cpufreq.c: 1008 in powernv_fast_switch() > 1002 unsigned int target_freq) > 1003 { > 1004 int index; > 1005 struct powernv_smp_call_data freq_data; > 1006 > 1007 index = cpufreq_table_find_index_dl(policy, target_freq); > >>> CID 182816: Memory - illegal accesses (NEGATIVE_RETURNS) > >>> Using variable "index" as an index to array "powernv_freqs". > 1008 freq_data.pstate_id = powernv_freqs[index].driver_data; > 1009 freq_data.gpstate_id = powernv_freqs[index].driver_data; > 1010 set_pstate(&freq_data); > 1011 > 1012 return powernv_freqs[index].frequency; > 1013 } > > Signed-off-by: Shilpasri G Bhat > --- > drivers/cpufreq/powernv-cpufreq.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c > index 29cdec1..69edfe9 100644 > --- a/drivers/cpufreq/powernv-cpufreq.c > +++ b/drivers/cpufreq/powernv-cpufreq.c > @@ -1005,6 +1005,9 @@ static unsigned int powernv_fast_switch(struct cpufreq_policy *policy, > struct powernv_smp_call_data freq_data; > > index = cpufreq_table_find_index_dl(policy, target_freq); > + if (unlikely(index < 0)) > + index = get_nominal_index(); > + AFAICT, you will get -1 here only if the freq table had no valid frequencies (or the freq table is empty). Why would that happen ? > freq_data.pstate_id = powernv_freqs[index].driver_data; > freq_data.gpstate_id = powernv_freqs[index].driver_data; > set_pstate(&freq_data); > -- > 1.8.3.1 -- viresh