[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] powernow: implement struct cpufreq_driver.verify
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1228490541 0 # Node ID 3db54d2aa8bd7ec8c096fb4fafa068850ff0ff35 # Parent e34f3e314ecf3c28a295351ade9e02596c0dad81 powernow: implement struct cpufreq_driver.verify Without this, under rare conditions hypervisor crashes are possible due to this method being called without checking against NULL. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- xen/arch/x86/acpi/cpufreq/powernow.c | 11 +++++++++++ 1 files changed, 11 insertions(+) diff -r e34f3e314ecf -r 3db54d2aa8bd xen/arch/x86/acpi/cpufreq/powernow.c --- a/xen/arch/x86/acpi/cpufreq/powernow.c Fri Dec 05 15:21:59 2008 +0000 +++ b/xen/arch/x86/acpi/cpufreq/powernow.c Fri Dec 05 15:22:21 2008 +0000 @@ -129,6 +129,16 @@ static int powernow_cpufreq_target(struc return result; } +static int powernow_cpufreq_verify(struct cpufreq_policy *policy) +{ + struct powernow_cpufreq_data *data; + + if (!policy || !(data = drv_data[policy->cpu])) + return -EINVAL; + + return cpufreq_frequency_table_verify(policy, data->freq_table); +} + static int powernow_cpufreq_cpu_init(struct cpufreq_policy *policy) { unsigned int i; @@ -243,6 +253,7 @@ static int powernow_cpufreq_cpu_exit(str } static struct cpufreq_driver powernow_cpufreq_driver = { + .verify = powernow_cpufreq_verify, .target = powernow_cpufreq_target, .init = powernow_cpufreq_cpu_init, .exit = powernow_cpufreq_cpu_exit _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |