Re: patchx86-xen-disable-highmem-pte-allocation-even-when-config_highpte-y.patchadded to 2.6.33-stable tree

From: Ian Campbell
Date: Fri Mar 12 2010 - 09:17:43 EST


On Fri, 2010-03-12 at 14:08 +0000, Stefan Lippers-Hollmann wrote:
> Hi
>
> On Friday 12 March 2010, gregkh@xxxxxxx wrote:
> > This is a note to let you know that we have just queued up the patch titled
> >
> > Subject: x86, xen: Disable highmem PTE allocation even when CONFIG_HIGHPTE=y
> >
> > to the 2.6.33-stable tree. Its filename is
> >
> > x86-xen-disable-highmem-pte-allocation-even-when-config_highpte-y.patch
> >
> > A git repo of this tree can be found at
> > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> >
> >
> > From 817a824b75b1475f1b067c8cee318c7b4d66fcde Mon Sep 17 00:00:00 2001
> > From: Ian Campbell <ian.campbell@xxxxxxxxxx>
> > Date: Fri, 26 Feb 2010 17:16:00 +0000
> > Subject: x86, xen: Disable highmem PTE allocation even when CONFIG_HIGHPTE=y
> > MIME-Version: 1.0
> > Content-Type: text/plain; charset=UTF-8
> > Content-Transfer-Encoding: 8bit
> >
> > From: Ian Campbell <ian.campbell@xxxxxxxxxx>
> >
> > commit 817a824b75b1475f1b067c8cee318c7b4d66fcde upstream.
> >
> > There's a path in the pagefault code where the kernel deliberately
> > breaks its own locking rules by kmapping a high pte page without
> > holding the pagetable lock (in at least page_check_address). This
> > breaks Xen's ability to track the pinned/unpinned state of the
> > page. There does not appear to be a viable workaround for this
> > behaviour so simply disable HIGHPTE for all Xen guests.
>
> This patch breaks compilation of the current 2.6.33 -stable queue and might
> also affect queue-2.6.32 (untested):
>
> CC arch/x86/xen/enlighten.o
> arch/x86/xen/enlighten.c: In function âxen_start_kernelâ:
> arch/x86/xen/enlighten.c:1102: error: â__userpte_alloc_gfpâ undeclared (first use in this function)
> arch/x86/xen/enlighten.c:1102: error: (Each undeclared identifier is reported only once
> arch/x86/xen/enlighten.c:1102: error: for each function it appears in.)
> make[2]: *** [arch/x86/xen/enlighten.o] Error 1
> make[1]: *** [arch/x86/xen] Error 2
>
> as it seems to depend (tested) on:
>
> commit 14315592009c17035cac81f4954d5a1f4d71e489
> Author: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Date: Wed Feb 17 10:38:10 2010 +0000
>
> x86, mm: Allow highmem user page tables to be disabled at boot time

Thanks Stefan, this is indeed the correct fix. I pointed Greg to this
patch in private mail this morning.

Ian.



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