Re: [PATCH] KVM: fix async page fault working for readonly mapping

From: Xiao Guangrong
Date: Tue May 22 2012 - 23:09:36 EST


On 05/22/2012 10:27 PM, Avi Kivity wrote:

> On 05/22/2012 08:31 AM, Gleb Natapov wrote:
>> On Mon, May 21, 2012 at 04:30:41PM -0300, Marcelo Tosatti wrote:
>>> On Mon, May 21, 2012 at 04:15:50PM +0800, Xiao Guangrong wrote:
>>>> On 05/21/2012 04:08 PM, Gleb Natapov wrote:
>>>>
>>>>> On Mon, May 21, 2012 at 02:45:45PM +0800, Xiao Guangrong wrote:
>>>>>> If we map a readonly memory space from host to guest and the page is
>>>>>> not currently mapped in the host, we will get a fault-pfn and async
>>>>>> is not allowed, then the vm will crash
>>>>>>
>>>>> Why would we want to map a readonly memory space from host to guest?
>>>>> We may want to do it to support memory semantics on read and mmio on
>>>>> write, but do not right now unless something changed while I was not
>>>>> looking.
>>>>
>>>>
>>>> Some test cases in kvm-unit-tests and the benchmark i am writing for KVM
>>>> need map the function on host to guest.
>>>
>>> Or ROM. Or read-only mappings of IVSHMEM (which don't exist yet).
>> True. KVM should ignore writes to such areas, not kill a guest. Is this
>> how the code works today?
>>
>
> Right now qemu maps ROM as RAM. There is no way to tell kvm that
> something is ROM (or ROMD).
>
> There are two options for that:
> - mprotect() the ROM, and teach kvm about read-only areas (this patch);
> but that doesn't work if we have a read-only and a writable alias of the
> same area
> - add a flag indicating that an area is ROM or ROMD
>
> I prefer the latter, because of the alias issue.
>


I agree.

Will post a new patch to do it if other guys do not object it. :)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/