Zachary Amsden
2007-Aug-21 18:35 UTC
[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 -------------- next part -------------- A non-text attachment was scrubbed... Name: i386-linus-vmalloc-paravirt-fix.patch Type: text/x-patch Size: 823 bytes Desc: not available Url : http://lists.linux-foundation.org/pipermail/virtualization/attachments/20070821/0c1a76dc/i386-linus-vmalloc-paravirt-fix.bin
Jeremy Fitzhardinge
2007-Aug-21 23:28 UTC
[PATCH] Fix lazy mode vmalloc synchronization for paravirt
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
Zachary Amsden
2007-Aug-21 23:57 UTC
[PATCH] Fix lazy mode vmalloc synchronization for paravirt
Jeremy Fitzhardinge wrote:> No, under Xen the kernel/hypervisor PMD is not shared between processes, > so this is still used when PAE is enabled. >Ahh, yes. So this was a lucky catch for us. Non-PAE kernels seem to be increasing in value at antique sales. Zach