Messages in this thread | | | Subject | Re: [PATCH] KVM: X86: Fix SMRAM accessing even if VM is shutdown | From | Xiao Guangrong <> | Date | Fri, 9 Feb 2018 11:22:44 +0800 |
| |
On 02/08/2018 06:31 PM, Paolo Bonzini wrote: > On 08/02/2018 09:57, Xiao Guangrong wrote: >>> Maybe it should return RET_PF_EMULATE, which would cause an emulation >>> failure and then an exit with KVM_EXIT_INTERNAL_ERROR. >> >> So the root cause is that a running vCPU accessing the memory whose memslot >> is being updated (met the condition KVM_MEMSLOT_INVALID is set on the its >> memslot). >> >> The normal #PF handler breaks KVM_RUN and returns -EFAULT to userspace, >> we'd better to make ept-misconfig's handler follow this style as well. > > Why return -EFAULT and not attempt emulation (which will fail)? >
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...
| |