From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: [PATCH] Fix lazy mode vmalloc synchronization for paravirt Date: Tue, 21 Aug 2007 23:28:28 -0700 Message-ID: <46CBD78C.3020804@goop.org> References: <46CB91BC.2010808@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <46CB91BC.2010808@vmware.com> Sender: linux-kernel-owner@vger.kernel.org To: Zachary Amsden Cc: Virtualization Mailing List , Linux Kernel Mailing List , Linus Torvalds , Chris Wright , Rusty Russell , Andi Kleen , Andrew Morton , Ben Collins List-Id: virtualization@lists.linuxfoundation.org Zachary Amsden wrote: > Found this looping Ubuntu installs with VMI. > > If unlucky enough to hit a vmalloc sync fault during a lazy mode > operation (from an IRQ handler for a module which was not yet > populated in current page directory, or from inside copy_one_pte, > which touches swap_map, and hit in an unused 4M region), the required > PDE update would never get flushed, causing an infinite page fault loop. Ah, good catch. > This bug affects any paravirt-ops backend which uses lazy updates, I > believe that makes it a bug in Xen, VMI and lguest. It only happens > on LOWMEM kernels. No, under Xen the kernel/hypervisor PMD is not shared between processes, so this is still used when PAE is enabled. J