Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed9244e6 authored by Nicholas Mc Guire's avatar Nicholas Mc Guire Committed by Ralf Baechle
Browse files

MIPS: KVM: Do not sign extend on unsigned MMIO load



Fix possible unintended sign extension in unsigned MMIO loads by casting
to uint16_t in the case of mmio_needed != 2.

Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
Reviewed-by: default avatarJames Hogan <james.hogan@imgtec.com>
Tested-by: default avatarJames Hogan <james.hogan@imgtec.com>
Cc: Gleb Natapov <gleb@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/9985/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 8833bc30
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2409,7 +2409,7 @@ enum emulation_result kvm_mips_complete_mmio_load(struct kvm_vcpu *vcpu,
		if (vcpu->mmio_needed == 2)
			*gpr = *(int16_t *) run->mmio.data;
		else
			*gpr = *(int16_t *) run->mmio.data;
			*gpr = *(uint16_t *)run->mmio.data;

		break;
	case 1: