]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
LoongArch: KVM: Fix missing EMULATE_FAIL in kvm_emu_mmio_read()
authorTao Cui <cuitao@kylinos.cn>
Mon, 4 May 2026 01:00:38 +0000 (09:00 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Mon, 4 May 2026 01:00:38 +0000 (09:00 +0800)
In the ldptr (0x24...0x27) opcode decoding path, the default case only
breaks out but without setting "ret" value to EMULATE_FAIL. This leaves
run->mmio.len uninitialized (stale from a previous MMIO operation) while
"ret" value remains EMULATE_DO_MMIO, causing the code to proceed with an
incorrect MMIO length.

Add "ret = EMULATE_FAIL" to match the other default branches in the same
function (e.g. the 0x28...0x2e and 0x38 cases).

Cc: stable@vger.kernel.org
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Signed-off-by: Tao Cui <cuitao@kylinos.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/kvm/exit.c

index da0ad89f2eb7467ad6ba4597713e93f9cbc36641..3b95cd0f989b08d7d39ac6c782ee24553cb8dee0 100644 (file)
@@ -390,6 +390,7 @@ int kvm_emu_mmio_read(struct kvm_vcpu *vcpu, larch_inst inst)
                        run->mmio.len = 8;
                        break;
                default:
+                       ret = EMULATE_FAIL;
                        break;
                }
                break;