On 09/02/2018 04:22, Xiao Guangrong wrote:
That is a good question... :)
This case (with KVM_MEMSLOT_INVALID is set) can be easily constructed,
userspace should avoid this case by itself (avoiding vCPU accessing the
memslot which is being updated). If it happens, it's a operation issue
rather than INTERNAL ERROR.
Maybe treat it as MMIO accessing and return to userspace with MMIO_EXIT
is a better solution...
Yeah, that's what emulation would do (except if it's an instruction
fetch, which will cause emulation to fail). I think it's a bug in the
non-EPT #PF case that we return with -EFAULT.