[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <46CB91BC.2010808@vmware.com>
Date: Tue, 21 Aug 2007 18:30:36 -0700
From: Zachary Amsden <zach@...are.com>
To: Virtualization Mailing List <virtualization@...ts.osdl.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...l.org>,
Chris Wright <chrisw@...s-sol.org>,
Rusty Russell <rusty@...tcorp.com.au>,
Jeremy Fitzhardinge <jeremy@...p.org>, Andi Kleen <ak@...e.de>,
Andrew Morton <akpm@...l.org>
CC: Ben Collins <ben.collins@...ntu.com>
Subject: [PATCH] Fix lazy mode vmalloc synchronization for paravirt
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.
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.
Currently for 2.6.23, but we'll want to backport to -stable as well.
Zach
View attachment "i386-linus-vmalloc-paravirt-fix.patch" of type "text/x-patch" (824 bytes)
Powered by blists - more mailing lists