From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Subject: Re: [PATCH] acpi-cpufreq: De-register cpu notifier and free struct msr on error. Date: Tue, 28 Jan 2014 10:41:52 +0100 Message-ID: <20140128104152.502ef069@amdc2363> References: <1390881491-18998-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-reply-to: <1390881491-18998-1-git-send-email-konrad.wilk@oracle.com> Sender: cpufreq-owner@vger.kernel.org To: Konrad Rzeszutek Wilk Cc: linux-kernel@vger.kernel.org, rafael.j.wysocki@intel.com, cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, Konrad Rzeszutek Wilk , Myungjoo Ham , Viresh Kumar , Boris Ostrovsky List-Id: linux-pm@vger.kernel.org Hi Konrad, > If cpufreq_register_driver() fails we would free the acpi driver > related structures but not free the ones allocated > by acpi_cpufreq_boost_init() function. This meant that as > the driver error-ed out and a CPU online/offline event came > we would crash and burn as one of the CPU notifiers would point > to garbage. > Thanks for spotting this bug. My bad. > This fixes a regression that commit > cfc9c8ed03e4d908f2388af8815f44c87b503aaf "acpi-cpufreq: Adjust the > code to use the common boost attribute" introduced. > > CC: Lukasz Majewski > CC: Myungjoo Ham > CC: Viresh Kumar > CC: Rafael J. Wysocki > CC: Boris Ostrovsky > Signed-off-by: Konrad Rzeszutek Wilk > --- > drivers/cpufreq/acpi-cpufreq.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/acpi-cpufreq.c > b/drivers/cpufreq/acpi-cpufreq.c index 79e5608..3e856d6 100644 > --- a/drivers/cpufreq/acpi-cpufreq.c > +++ b/drivers/cpufreq/acpi-cpufreq.c > @@ -969,9 +969,10 @@ static int __init acpi_cpufreq_init(void) > acpi_cpufreq_boost_init(); > > ret = cpufreq_register_driver(&acpi_cpufreq_driver); > - if (ret) > + if (ret) { > free_acpi_perf_data(); > - > + acpi_cpufreq_boost_exit(); > + } > return ret; > } > Acked-by: Lukasz Majewski -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group