lkml.org 
[lkml]   [2015]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 41/63] KVM: ARM/arm64: fix broken __percpu annotation
    Date
    From: Will Deacon <will.deacon@arm.com>

    3.12-stable review patch. If anyone has any objections, please let me know.

    ===============

    commit 4000be423cb01a8d09de878bb8184511c49d4238 upstream.

    Running sparse results in a bunch of noisy address space mismatches
    thanks to the broken __percpu annotation on kvm_get_running_vcpus.

    This function returns a pcpu pointer to a pointer, not a pointer to a
    pcpu pointer. This patch fixes the annotation, which kills the warnings
    from sparse.

    Cc: Christoffer Dall <christoffer.dall@linaro.org>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    arch/arm/kvm/arm.c | 2 +-
    arch/arm64/include/asm/kvm_host.h | 2 +-
    2 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c
    index bf801be036a6..8eacf88d68fd 100644
    --- a/arch/arm/kvm/arm.c
    +++ b/arch/arm/kvm/arm.c
    @@ -82,7 +82,7 @@ struct kvm_vcpu *kvm_arm_get_running_vcpu(void)
    /**
    * kvm_arm_get_running_vcpus - get the per-CPU array of currently running vcpus.
    */
    -struct kvm_vcpu __percpu **kvm_get_running_vcpus(void)
    +struct kvm_vcpu * __percpu *kvm_get_running_vcpus(void)
    {
    return &kvm_arm_running_vcpu;
    }
    diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
    index 11059f1f4743..ca18e3faedd7 100644
    --- a/arch/arm64/include/asm/kvm_host.h
    +++ b/arch/arm64/include/asm/kvm_host.h
    @@ -176,7 +176,7 @@ static inline int kvm_test_age_hva(struct kvm *kvm, unsigned long hva)
    }

    struct kvm_vcpu *kvm_arm_get_running_vcpu(void);
    -struct kvm_vcpu __percpu **kvm_get_running_vcpus(void);
    +struct kvm_vcpu * __percpu *kvm_get_running_vcpus(void);

    u64 kvm_call_hyp(void *hypfn, ...);

    --
    2.3.5


    \
     
     \ /
      Last update: 2015-04-30 15:01    [W:2.469 / U:0.232 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site