KVM: Fix preemption counter leak in kvm_timer_init()
authorAvi Kivity <avi@redhat.com>
Thu, 16 Dec 2010 10:16:34 +0000 (12:16 +0200)
committerAvi Kivity <avi@redhat.com>
Thu, 16 Dec 2010 10:39:31 +0000 (12:39 +0200)
Based on a patch from Thomas Meyer.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/x86.c

index e3abd84..b989e1f 100644 (file)
@@ -4564,9 +4564,11 @@ static void kvm_timer_init(void)
 #ifdef CONFIG_CPU_FREQ
                struct cpufreq_policy policy;
                memset(&policy, 0, sizeof(policy));
-               cpufreq_get_policy(&policy, get_cpu());
+               cpu = get_cpu();
+               cpufreq_get_policy(&policy, cpu);
                if (policy.cpuinfo.max_freq)
                        max_tsc_khz = policy.cpuinfo.max_freq;
+               put_cpu();
 #endif
                cpufreq_register_notifier(&kvmclock_cpufreq_notifier_block,
                                          CPUFREQ_TRANSITION_NOTIFIER);