diff options
| author | Marc Zyngier <maz@kernel.org> | 2025-11-25 20:48:48 +0000 |
|---|---|---|
| committer | Oliver Upton <oupton@kernel.org> | 2025-12-01 00:44:02 -0800 |
| commit | b0fc8329ec98ea891a5e47821db6aee1d564bff6 (patch) | |
| tree | cec058ee416cb9a80aa583051a3abd536025b3d5 | |
| parent | 36fe022f884bb936d911a0d2e93819aba11daceb (diff) | |
KVM: arm64: Add endian casting to kvm_swap_s[12]_desc()
Keep sparse quiet by explicitly casting endianness conversion
when swapping S1 and S2 descriptors.
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202511260246.JQDGsQKa-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202511260344.9XehvH5Q-lkp@intel.com/
Fixes: c59ca4b5b0c3f ("KVM: arm64: Implement HW access flag management in stage-1 SW PTW")
Fixes: 39db933ba67f8 ("KVM: arm64: nv: Implement HW access flag management in stage-2 SW PTW")
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://msgid.link/20251125204848.1136383-1-maz@kernel.org
Signed-off-by: Oliver Upton <oupton@kernel.org>
| -rw-r--r-- | arch/arm64/kvm/at.c | 8 | ||||
| -rw-r--r-- | arch/arm64/kvm/nested.c | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/arch/arm64/kvm/at.c b/arch/arm64/kvm/at.c index f774a02d9393..d25fef0f66e2 100644 --- a/arch/arm64/kvm/at.c +++ b/arch/arm64/kvm/at.c @@ -386,11 +386,11 @@ static int kvm_swap_s1_desc(struct kvm_vcpu *vcpu, u64 pa, u64 old, u64 new, struct s1_walk_info *wi) { if (wi->be) { - old = cpu_to_be64(old); - new = cpu_to_be64(new); + old = (__force u64)cpu_to_be64(old); + new = (__force u64)cpu_to_be64(new); } else { - old = cpu_to_le64(old); - new = cpu_to_le64(new); + old = (__force u64)cpu_to_le64(old); + new = (__force u64)cpu_to_le64(new); } return __kvm_at_swap_desc(vcpu->kvm, pa, old, new); diff --git a/arch/arm64/kvm/nested.c b/arch/arm64/kvm/nested.c index 88d7dfb44410..911fc99ed99d 100644 --- a/arch/arm64/kvm/nested.c +++ b/arch/arm64/kvm/nested.c @@ -224,11 +224,11 @@ static int swap_guest_s2_desc(struct kvm_vcpu *vcpu, phys_addr_t pa, u64 old, u6 struct s2_walk_info *wi) { if (wi->be) { - old = cpu_to_be64(old); - new = cpu_to_be64(new); + old = (__force u64)cpu_to_be64(old); + new = (__force u64)cpu_to_be64(new); } else { - old = cpu_to_le64(old); - new = cpu_to_le64(new); + old = (__force u64)cpu_to_le64(old); + new = (__force u64)cpu_to_le64(new); } return __kvm_at_swap_desc(vcpu->kvm, pa, old, new); |
