From: Fabiano Rosas <farosas@linux.ibm.com>
To: kvm-ppc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org, npiggin@gmail.com, aik@ozlabs.ru
Subject: [PATCH v4 4/5] KVM: PPC: mmio: Return to guest after emulation failure
Date: Fri, 21 Jan 2022 19:26:25 -0300 [thread overview]
Message-ID: <20220121222626.972495-5-farosas@linux.ibm.com> (raw)
In-Reply-To: <20220121222626.972495-1-farosas@linux.ibm.com>
If MMIO emulation fails we don't want to crash the whole guest by
returning to userspace.
The original commit bbf45ba57eae ("KVM: ppc: PowerPC 440 KVM
implementation") added a todo:
/* XXX Deliver Program interrupt to guest. */
and later the commit d69614a295ae ("KVM: PPC: Separate loadstore
emulation from priv emulation") added the Program interrupt injection
but in another file, so I'm assuming it was missed that this block
needed to be altered.
Also change the message to a ratelimited one since we're letting the
guest run and it could flood the host logs.
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
---
arch/powerpc/kvm/powerpc.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 27fb2b70f631..214602c58f13 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -307,9 +307,9 @@ int kvmppc_emulate_mmio(struct kvm_vcpu *vcpu)
u32 last_inst;
kvmppc_get_last_inst(vcpu, INST_GENERIC, &last_inst);
- /* XXX Deliver Program interrupt to guest. */
- pr_emerg("%s: emulation failed (%08x)\n", __func__, last_inst);
- r = RESUME_HOST;
+ pr_info_ratelimited("KVM: guest access to device memory using unsupported instruction (PID: %d opcode: %#08x)\n",
+ current->pid, last_inst);
+ r = RESUME_GUEST;
break;
}
default:
--
2.34.1
next prev parent reply other threads:[~2022-01-21 22:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-21 22:26 [PATCH v4 0/5] KVM: PPC: MMIO fixes Fabiano Rosas
2022-01-21 22:26 ` [PATCH v4 1/5] KVM: PPC: Book3S HV: Stop returning internal values to userspace Fabiano Rosas
2022-01-21 22:26 ` [PATCH v4 2/5] KVM: PPC: Fix vmx/vsx mixup in mmio emulation Fabiano Rosas
2022-01-21 22:26 ` [PATCH v4 3/5] KVM: PPC: mmio: Reject instructions that access more than mmio.data size Fabiano Rosas
2022-01-25 3:06 ` Nicholas Piggin
2022-01-21 22:26 ` Fabiano Rosas [this message]
2022-01-25 3:26 ` [PATCH v4 4/5] KVM: PPC: mmio: Return to guest after emulation failure Nicholas Piggin
2022-01-21 22:26 ` [PATCH v4 5/5] KVM: PPC: mmio: Deliver DSI " Fabiano Rosas
2022-01-25 3:39 ` Nicholas Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220121222626.972495-5-farosas@linux.ibm.com \
--to=farosas@linux.ibm.com \
--cc=aik@ozlabs.ru \
--cc=kvm-ppc@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).