[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC 6/9] xen, libxc: Request page fault injection via libxc


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Mihai DonÈu <mdontu@xxxxxxxxxxxxxxx>
  • Date: Wed, 2 Jul 2014 19:58:13 +0300
  • Cc: tim@xxxxxxx, Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>, xen-devel@xxxxxxxxxxxxx
  • Comment: DomainKeys? See http://domainkeys.sourceforge.net/
  • Delivery-date: Wed, 02 Jul 2014 16:58:35 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=bitdefender.com; b=GePOHzza/v5+AOSHeb4NxWuVZ6Z0PrT/BvZZ9WbqIXm5AoOdzY12kkjt283V7FA+9mNlZh2zqUy0b1zOBCjJvUrYxkg3+7LbDhY4MaxsMkOZwan20pEv8AvfN6XRCa4QdpTukZaXq7B5/1gQyFuvkDLwCfT+3gHUJ64b9wq8kcwxowHs3pXxIsyDzDoIK7AdX6teZYnNM9iercbUuRs1eQYmsM6KCbKYvRrkhKgm68dFHeMxQuEjaD0A5wRc6L2zRie1QHRpZxLKhH3Z2V0HK1jz00NoFKNw2gzKNu75E01/4j/CN8cOU+c73q6h/cOeqp5c1vT7SwAHJ3ICrvIgGg==; h=Received:Received:Received:Received:Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References:Organization:MIME-Version:Content-Type:Content-Transfer-Encoding:X-BitDefender-Scanner:X-BitDefender-Spam:X-BitDefender-SpamStamp:X-BitDefender-CF-Stamp;
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

On Wed, 2 Jul 2014 17:00:08 +0100 Andrew Cooper wrote:
> On 02/07/14 16:51, Jan Beulich wrote:
> >>>> On 02.07.14 at 15:33, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
> >> Added new XEN_DOMCTL_set_pagefault_info hypercall, used by libxc's
> >> new xc_domain_set_pagefault_info() function to set per-domain page
> >> fault injection information. This information is then used to call
> >> hvm_inject_page_fault() at the first VMENTRY where the guest status
> >> matches and there are no other pending traps.
> > So the first question that strikes me here: What good can it do to
> > be able to inject arbitrary page faults, possibly at times where
> > the guest OS is absolutely not expecting them?

I have not yet had the chance to say: thank you all for your review!

There were times when we wanted to get certain information from the
guest but couldn't because it was swapped out. We now handle that
situation by injecting a #PF and then let the OS respond as it would
under a normal circumstance. After the data is brought in, it traps
again into our application and we get what we need, but yes, it
requires deep knowledge about the guest OS in order to do it without
crashing it. It's doable only if you have the means necessary to
inspect its state fully, which is why some of the submitted patches
exist.

> I would further this by suggesting that the only plausible case where
> you could inject a pagefault is as a reply to a mem_event for which
> the guest is already paused.
> 
> In which case it it would be better implemented as part of the
> mem_event protocol than a plain hypercall in its own regard.

-- 
Mihai DONÈU

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.