Thread (132 messages) 132 messages, 8 authors, 2017-05-04
STALE3341d

[PATCH v5 02/22] KVM: arm/arm64: Add GICV3 pending table save API documentation

From: Christoffer Dall <hidden>
Date: 2017-04-26 13:00:20
Also in: kvm, kvmarm

On Wed, Apr 26, 2017 at 11:57:16AM +0200, Auger Eric wrote:
Hi Peter, Dave,

On 26/04/2017 10:48, Dr. David Alan Gilbert wrote:
quoted
* Peter Maydell (peter.maydell at linaro.org) wrote:
quoted
On 26 April 2017 at 09:26, Auger Eric [off-list ref] wrote:
quoted
On 25/04/2017 12:43, Peter Maydell wrote:
quoted
When does the -EFAULT return happen? (if the guest points GITS_BASER<n>
etc at invalid memory, presumably?)
Yes that's correct, when GICR_PENDBASER contains a bad GPA.
quoted
 How does the QEMU migration code
handle this case? Failing migration because the guest has done something
silly doesn't seem too palatable, but trying to avoid that could be
more effort than an obscure corner case really merits.
The kvm_device_access will cause an abort() as for other errors returned
by kvm_device_ioctl().
That's pretty nasty. Guests shouldn't be able to provoke QEMU
into abort()ing, ideally. We don't necessarily have to produce
a successful migration, but we should at least fail it cleanly.
Yes, no abort()'s during migration due to guest behaviour.
They always end up coming back around to being filed as migration
bugs and people worry why they've got cores.

Ideally log a message into stderr to say that the guest state
is inconsistent so that when someone comes to debug it then they
can see it's obvious.
OK I agree. I will respin the QEMU part accordingly and in that
situation I won't abort and will print a message.
Alternatively we should mark a pending error notification to the guest
in KVM, so that when the guest boots it gets something like an SError
instead, given that presumably the guest wrote the weird value.  Except
of course if the problem is caused by QEMU fudging with the register
value for the PENDBASER.

Just a thought.

Thanks,
-Christoffer
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help