Re: [PATCH v2 2/4] mm: x86: Invoke hypercall when page encryption status is changed

From: Paolo Bonzini
Date: Fri May 14 2021 - 05:57:40 EST


On 14/05/21 11:05, Ashish Kalra wrote:
I absolutely agree with both of your point of view. But what's the
alternative ?

Ideally we should fail/stop migration even if a single guest page
encryption status cannot be notified and that should be the way to
proceed in this case, the guest kernel should notify the source
userspace VMM to block/stop migration in this case.

From a practical side, i do see Qemu's migrate_add_blocker() interface
but that looks to be a static interface and also i don't think it will
force stop an ongoing migration, is there an existing mechanism
to inform userspace VMM from kernel about blocking/stopping migration ?

On the Linux side, all you need to do is WARN and write 0 to the MIGRATION_CONTROL MSR.

QEMU can check the MSR value when migrating the CPU registers at the end, and fail migration if the MSR value is 0.

Paolo