Commit 177951b6 authored by Marc Zyngier's avatar Marc Zyngier Committed by yanhaitao
Browse files

KVM: arm64: Let vcpu_sve_pffr() handle HYP VAs

mainline inclusion
from mainline-v5.13-rc1
commit 985d3a1b
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I8E73O
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=985d3a1beab543875e0c857ce263cad8233923bb



-------------------------------------------------

The vcpu_sve_pffr() returns a pointer, which can be an interesting
thing to do on nVHE. Wrap the pointer with kern_hyp_va(), and
take this opportunity to remove the unnecessary casts (sve_state
being a void *).

Acked-by: default avatarWill Deacon <will@kernel.org>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Signed-off-by: default avatarWang ShaoBo <bobo.shaobowang@huawei.com>
parent 251def35
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -406,8 +406,8 @@ struct kvm_vcpu_arch {
};

/* Pointer to the vcpu's SVE FFR for sve_{save,load}_state() */
#define vcpu_sve_pffr(vcpu) ((void *)((char *)((vcpu)->arch.sve_state) + \
				      sve_ffr_offset((vcpu)->arch.sve_max_vl)))
#define vcpu_sve_pffr(vcpu) (kern_hyp_va((vcpu)->arch.sve_state) +	\
			     sve_ffr_offset((vcpu)->arch.sve_max_vl))

#define vcpu_sve_state_size(vcpu) ({					\
	size_t __size_ret;						\