Re: [PATCH 3/3] KVM: PPC: Fix mmio length message
From: Nicholas Piggin <npiggin@gmail.com>
Date: 2021-12-25 10:17:25
Excerpts from Fabiano Rosas's message of December 24, 2021 7:15 am:
We check against 'bytes' but print 'run->mmio.len' which at that point has an old value. e.g. 16-byte load: before: __kvmppc_handle_load: bad MMIO length: 8 now: __kvmppc_handle_load: bad MMIO length: 16 Signed-off-by: Fabiano Rosas <redacted>
This patch fine, but in the case of overflow we continue anyway here. Can that overwrite some other memory in the kvm_run struct? This is familiar, maybe something Alexey has noticed in the past too? What was the consensus on fixing it? (at least it should have a comment if it's not a problem IMO) Thanks, Nick
quoted hunk ↗ jump to hunk
--- arch/powerpc/kvm/powerpc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index 793d42bd6c8f..7823207eb8f1 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c@@ -1246,7 +1246,7 @@ static int __kvmppc_handle_load(struct kvm_vcpu *vcpu, if (bytes > sizeof(run->mmio.data)) { printk(KERN_ERR "%s: bad MMIO length: %d\n", __func__, - run->mmio.len); + bytes); } run->mmio.phys_addr = vcpu->arch.paddr_accessed;@@ -1335,7 +1335,7 @@ int kvmppc_handle_store(struct kvm_vcpu *vcpu, if (bytes > sizeof(run->mmio.data)) { printk(KERN_ERR "%s: bad MMIO length: %d\n", __func__, - run->mmio.len); + bytes); } run->mmio.phys_addr = vcpu->arch.paddr_accessed;-- 2.33.1