From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933315AbcLGXM7 (ORCPT ); Wed, 7 Dec 2016 18:12:59 -0500 Received: from mga14.intel.com ([192.55.52.115]:55122 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932339AbcLGXM4 (ORCPT ); Wed, 7 Dec 2016 18:12:56 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,316,1477983600"; d="scan'208";a="909871760" Message-ID: <1481152373.3064.77.camel@linux.intel.com> Subject: Re: [PATCH v8 8/8] cpufreq: intel_pstate: Use CPPC to get max performance From: Tim Chen To: Sebastian Andrzej Siewior Cc: rjw@rjwysocki.net, tglx@linutronix.de, mingo@redhat.com, bp@suse.de, "Rafael J. Wysocki" , x86@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, peterz@infradead.org, jolsa@redhat.com, Srinivas Pandruvada Date: Wed, 07 Dec 2016 15:12:53 -0800 In-Reply-To: <20161207190608.boi7svavwrkx3epm@breakpoint.cc> References: <0998b98943bcdec7d1ddd4ff27358da555ea8e92.1479844244.git.tim.c.chen@linux.intel.com> <20161207190608.boi7svavwrkx3epm@breakpoint.cc> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2 (3.18.5.2-1.fc23) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2016-12-07 at 20:06 +0100, Sebastian Andrzej Siewior wrote: >  > > Signed-off-by: Sebastian Andrzej Siewior > --- >  drivers/acpi/cppc_acpi.c | 3 +++ >  1 file changed, 3 insertions(+) > > diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c > index d0d0504b7c89..93252e5374c5 100644 > --- a/drivers/acpi/cppc_acpi.c > +++ b/drivers/acpi/cppc_acpi.c > @@ -803,6 +803,7 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr) >   if (addr) >   iounmap(addr); >   } > + per_cpu(cpc_desc_ptr, pr->id) = NULL; >   kfree(cpc_ptr); >   >  out_buf_free: > @@ -824,6 +825,8 @@ void acpi_cppc_processor_exit(struct acpi_processor *pr) >   void __iomem *addr; >   >   cpc_ptr = per_cpu(cpc_desc_ptr, pr->id); > + if (!cpc_ptr) > + return; I agree that not handling null pointer here is a bug that should be fixed. The cpc_ptr is checked at other places like acpi_get_psd_map.   We could potentially have a null cpc_ptr say when the parsing of CPC table failed. We should handle such cases gracefully. Tim