Re: [tip:smp/hotplug] cpufreq: Fix up conversion to hotplug state machine
On Tue, Sep 20, 2016 at 08:07:08AM -0700, tip-bot for Sebastian Andrzej Siewior wrote: > Commit-ID: 5372e054a1928fe704cf0a5e2e139645a777b50a > Gitweb: http://git.kernel.org/tip/5372e054a1928fe704cf0a5e2e139645a777b50a > Author: Sebastian Andrzej Siewior > AuthorDate: Tue, 20 Sep 2016 16:56:28 +0200 > Committer: Thomas Gleixner > CommitDate: Tue, 20 Sep 2016 16:59:21 +0200 > > cpufreq: Fix up conversion to hotplug state machine > > The function cpufreq_register_driver() returns zero on success and since > commit 27622b061eb4 ("cpufreq: Convert to hotplug state machine") > erroneously a positive number. Due to the "if (x) assume_error" construct > all callers assumed an error and as a consequence the cpu freq kworker > crashes with a NULL pointer dereference. > > Reset the return value back to zero in the success case. > > Fixes: 27622b061eb4 ("cpufreq: Convert to hotplug state machine") > Reported-by: Borislav Petkov -and-tested-by: me. Thanks! -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply.
[tip:smp/hotplug] cpufreq: Fix up conversion to hotplug state machine
Commit-ID: 5372e054a1928fe704cf0a5e2e139645a777b50a Gitweb: http://git.kernel.org/tip/5372e054a1928fe704cf0a5e2e139645a777b50a Author: Sebastian Andrzej Siewior AuthorDate: Tue, 20 Sep 2016 16:56:28 +0200 Committer: Thomas Gleixner CommitDate: Tue, 20 Sep 2016 16:59:21 +0200 cpufreq: Fix up conversion to hotplug state machine The function cpufreq_register_driver() returns zero on success and since commit 27622b061eb4 ("cpufreq: Convert to hotplug state machine") erroneously a positive number. Due to the "if (x) assume_error" construct all callers assumed an error and as a consequence the cpu freq kworker crashes with a NULL pointer dereference. Reset the return value back to zero in the success case. Fixes: 27622b061eb4 ("cpufreq: Convert to hotplug state machine") Reported-by: Borislav Petkov Reported-and-tested-by: Ingo Molnar Signed-off-by: Sebastian Andrzej Siewior Cc: pet...@infradead.org Cc: r...@rjwysocki.net Link: http://lkml.kernel.org/r/20160920145628.lp2bmq72ip3oi...@linutronix.de Signed-off-by: Thomas Gleixner --- drivers/cpufreq/cpufreq.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index e0bc632..8b44de4 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -2503,6 +2503,7 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data) if (ret < 0) goto err_if_unreg; hp_online = ret; + ret = 0; pr_debug("driver %s up and running\n", driver_data->name); goto out;