x86/xen: Fix incorrect per_cpu accessor in xen_clocksource_read()
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>
Thu, 16 Oct 2014 21:02:15 +0000 (17:02 -0400)
committerDavid Vrabel <david.vrabel@citrix.com>
Thu, 23 Oct 2014 15:24:02 +0000 (16:24 +0100)
Commit 89cbc76768c2 ("x86: Replace __get_cpu_var uses") replaced
__get_cpu_var() with this_cpu_ptr() in xen_clocksource_read() in such a
way that instead of accessing a structure pointed to by a per-cpu pointer
we are trying to get to a per-cpu structure.

__this_cpu_read() of the pointer is the more appropriate accessor.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
arch/x86/xen/time.c

index a1d430b..f473d26 100644 (file)
@@ -158,7 +158,7 @@ cycle_t xen_clocksource_read(void)
        cycle_t ret;
 
        preempt_disable_notrace();
-       src = this_cpu_ptr(&xen_vcpu->time);
+       src = &__this_cpu_read(xen_vcpu)->time;
        ret = pvclock_clocksource_read(src);
        preempt_enable_notrace();
        return ret;