lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 10 Oct 2010 14:40:50 +0200
From:	Avi Kivity <avi@...hat.com>
To:	Gleb Natapov <gleb@...hat.com>
CC:	kvm@...r.kernel.org, linux-mm@...ck.org,
	linux-kernel@...r.kernel.org, mingo@...e.hu,
	a.p.zijlstra@...llo.nl, tglx@...utronix.de, hpa@...or.com,
	riel@...hat.com, cl@...ux-foundation.org, mtosatti@...hat.com
Subject: Re: [PATCH v6 08/12] Handle async PF in a guest.

  On 10/10/2010 09:56 AM, Gleb Natapov wrote:
> On Sat, Oct 09, 2010 at 08:48:15PM +0200, Avi Kivity wrote:
> >   On 10/07/2010 08:03 PM, Gleb Natapov wrote:
> >  >>   >>
> >  >>   >Host side keeps track of outstanding apfs and will not send apf for the
> >  >>   >same phys address twice. It will halt vcpu instead.
> >  >>
> >  >>   What about different pages, running the scheduler code?
> >  >>
> >  >We can get couple of nested apfs, just like we can get nested
> >  >interrupts. Since scheduler disables preemption second apf will halt.
> >
> >  How much is a couple?
> >
> >  Consider:
> >
> >  SIGSTOP
> >  Entire process swapped out
> >  SIGCONT
> >
> >  We can get APF's on the current code, the scheduler code, the stack,
> >  any debugging code in between (e.g. ftrace), and the page tables for
> >  all of these.
> >
> Lets count them all. Suppose guest is in a userspace process code and
> guest memory is completely swapped out. Guest starts to run and faults
> in userspace. Apf is queued but can't be delivered due to faults in
> idt and exception stack. All of them will be taken synchronously due
> to event pending check. After apf is delivered any fault in apf code
> will be takes synchronously since interrupt are disabled. Just before
> calling schedule() interrupts are enabled, so next pf that will happen
> during call to schedule() will be taken asynchronously. Which will cause
> another call to schedule() at which point vcpu will be halted since two
> apfs happened at the same address. So I counted two of them.
>

Ok.  Feels weird, but I guess this is fine.

-- 
error compiling committee.c: too many arguments to function

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ