[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [GIT PULL] x86/mm changes for v3.9-rc1
- To: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>
- From: "H. Peter Anvin" <hpa@xxxxxxxxx>
- Date: Fri, 22 Feb 2013 09:33:34 -0800
- Cc: linux-mips@xxxxxxxxxxxxxx, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Gleb Natapov <gleb@xxxxxxxxxx>, Fenghua Yu <fenghua.yu@xxxxxxxxx>, Frederic Weisbecker <fweisbec@xxxxxxxxx>, Joe Millenbach <jmillenbach@xxxxxxxxx>, virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx, Gokul Caushik <caushik1@xxxxxxxxx>, Ralf Baechle <ralf@xxxxxxxxxxxxxx>, Pavel Machek <pavel@xxxxxx>, sparclinux@xxxxxxxxxxxxxxx, Christoph Lameter <cl@xxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Ville SyrjÃlà <ville.syrjala@xxxxxxxxxxxxxxx>, Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>, Andrea Arcangeli <aarcange@xxxxxxxxxx>, Lee Schermerhorn <Lee.Schermerhorn@xxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, Russell King <linux@xxxxxxxxxxxxxxxx>, Len Brown <len.brown@xxxxxxxxx>, Joerg Roedel <joro@xxxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>, Hugh Dickins <hughd@xxxxxxxxxx>, Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>, Mel Gorman <mgorman@xxxxxxx>, Ingo Molnar <mingo@xxxxxxx>, Borislav Petkov <bp@xxxxxxx>, Paul Turner <pjt@xxxxxxxxxx>, avi@xxxxxxxxxx, Alexander Duyck <alexander.h.duyck@xxxxxxxxx>, "H. J. Lu" <hjl.tools@xxxxxxxxx>, Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>, Rusty Russell <rusty@xxxxxxxxxxxxxxx>, Jamie Lokier <jamie@xxxxxxxxxxxxx>, Josh Triplett <josh@xxxxxxxxxxxxxxxx>, Steven Rostedt <rostedt@xxxxxxxxxxx>, "Rafael J. Wysocki" <rjw@xxxxxxx>, Matt Fleming <matt.fleming@xxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx>, Shuah Khan <shuah.khan@xxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Yinghai Lu <yinghai@xxxxxxxxxx>, Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxx>, Daniel J Blueman <daniel@xxxxxxxxxxxxxxxxxx>, Zachary Amsden <zamsden@xxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx, Marcelo Tosatti <mtosatti@xxxxxxxxxx>, Jacob Shin <jacob.shin@xxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, stable@xxxxxxxxxxxxxxx, Pekka Enberg <penberg@xxxxxxxxxx>, Kyungmin Park <kyungmin.park@xxxxxxxxxxx>, mst@xxxxxxxxxx, Eric Biederman <ebiederm@xxxxxxxxxxxx>, Rob Landley <rob@xxxxxxxxxxx>, Johannes Weiner <hannes@xxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>, Shuah Khan <shuahkhan@xxxxxxxxx>
- Delivery-date: Fri, 22 Feb 2013 17:39:22 +0000
- List-id: Xen developer discussion <xen-devel.lists.xen.org>
On 02/22/2013 09:30 AM, Dave Hansen wrote:
Do you have CONFIG_DEBUG_VIRTUAL on?
You're probably hitting the new BUG_ON() in __phys_addr(). It's
intended to detect places where someone is doing a __pa()/__phys_addr()
on an address that's outside the kernel's identity mapping.
There are a lot of __pa() calls around there, but from the looks of it,
it's this code:
static pgd_t *xen_get_user_pgd(pgd_t *pgd)
{
...
if (offset < pgd_index(USER_LIMIT)) {
struct page *page = virt_to_page(pgd_page);
I'm a bit fuzzy on exactly what the code is trying to do here. It could
mean either that the identity mapping isn't set up enough yet, or that
__pa() is getting called on a bogus address.
I'm especially fuzzy on why we'd be calling anything that's looking at
userspace pagetables (xen_get_user_pgd() ??) this early in boot.
Ah yes, of course.
This is unrelated to the early page table setups, which is why it didn't
trip in Konrad's earlier testing.
This debugging bits has already found real bugs in the kernel, and this
might be another.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|