From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [patch] kvm: make cr3 loading more robust
Date: Wed, 03 Jan 2007 14:01:32 +0200 [thread overview]
Message-ID: <459B9B1C.90105@qumranet.com> (raw)
In-Reply-To: <459B9AC7.6020506-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Avi Kivity wrote:
> Ingo Molnar wrote:
>> * Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:
>>
>>
>>>> rmap_write_protect() has a BUG_ON() if a physical address is not
>>>> found the the memslot. But this is a possible scenario if a buggy
>>>> guest OS loads an invalid or corrupted cr3 value. So exit more
>>>> gracefully.
>>>>
>>> I think a better solution is to detect the invalid cr3 in new_cr3().
>>> That way the entire chain of error returns is avoided.
>>>
>>
>> i'm wondering what the right semantics would be though. Kill the VM
>> context?
>>
>> on a real CPU an invalid cr3 does nothing explicitly (besides being a
>> sure way to get a triple fault) - physical memory is always
>> accessible, non-present physical memory at most generates an #MCE,
>> but is typically just returning 0xff, right? So perhaps keep a
>> non-mapped page filled with 0xff and map non-existent RAM to that?
>> But then this 'RAM' needs to be made non-writable.
>
> That's a good solution. I don't see why it has to be made
> non-writable -- it has undefined content, and any old value will do.
> We have (or maybe had) something like that somewhere.
It probably solves other cases as well, and simplifies error handling
elsewhere.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
next prev parent reply other threads:[~2007-01-03 12:01 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-03 2:10 [patch] kvm: make cr3 loading more robust Ingo Molnar
[not found] ` <20070103021057.GA11316-X9Un+BFzKDI@public.gmane.org>
2007-01-03 8:29 ` Avi Kivity
[not found] ` <459B695C.5090004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-03 11:52 ` Ingo Molnar
[not found] ` <20070103115230.GB937-X9Un+BFzKDI@public.gmane.org>
2007-01-03 12:00 ` Avi Kivity
[not found] ` <459B9AC7.6020506-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-03 12:01 ` Avi Kivity [this message]
2007-01-03 12:13 ` Ingo Molnar
[not found] ` <20070103121301.GC2786-X9Un+BFzKDI@public.gmane.org>
2007-01-03 12:25 ` Avi Kivity
[not found] ` <459BA0B4.20804-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-03 12:28 ` Ingo Molnar
[not found] ` <20070103122814.GA7350-X9Un+BFzKDI@public.gmane.org>
2007-01-03 12:40 ` Ingo Molnar
[not found] ` <20070103124020.GA9738-X9Un+BFzKDI@public.gmane.org>
2007-01-03 13:14 ` Avi Kivity
[not found] ` <459BAC45.9090202-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-03 13:20 ` Ingo Molnar
[not found] ` <20070103132033.GA18027-X9Un+BFzKDI@public.gmane.org>
2007-01-03 13:34 ` Avi Kivity
2007-01-03 12:59 ` Avi Kivity
2007-01-03 11:59 ` Ingo Molnar
[not found] ` <20070103115911.GA2786-X9Un+BFzKDI@public.gmane.org>
2007-01-03 12:06 ` Avi Kivity
[not found] ` <459B9C5C.9060008-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-03 12:21 ` Ingo Molnar
[not found] ` <20070103122114.GD2786-X9Un+BFzKDI@public.gmane.org>
2007-01-03 12:29 ` Avi Kivity
[not found] ` <459BA194.8070305-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-03 12:32 ` Ingo Molnar
[not found] ` <20070103123253.GA8822-X9Un+BFzKDI@public.gmane.org>
2007-01-03 13:13 ` Avi Kivity
2007-01-03 13:37 ` Ingo Molnar
[not found] ` <20070103133714.GA20638-X9Un+BFzKDI@public.gmane.org>
2007-01-03 13:44 ` Ingo Molnar
[not found] ` <20070103134417.GA22055-X9Un+BFzKDI@public.gmane.org>
2007-01-04 8:58 ` Avi Kivity
[not found] ` <459CC1BC.3070308-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-04 9:06 ` Ingo Molnar
2007-01-04 8:55 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=459B9B1C.90105@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=mingo-X9Un+BFzKDI@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.