[Top] [All Lists]

Re: [GIT PULL] x86/mm changes for v3.9-rc1

To: Dave Hansen <>
Subject: Re: [GIT PULL] x86/mm changes for v3.9-rc1
From: "H. Peter Anvin" <>
Date: Fri, 22 Feb 2013 09:33:34 -0800
Cc: Konrad Rzeszutek Wilk <>, "H. Peter Anvin" <>, Linus Torvalds <>, "David S. Miller" <>, "Rafael J. Wysocki" <>,, Alexander Duyck <>, Andrea Arcangeli <>, Andrew Morton <>, Andrzej Pietrasiewicz <>, Arnd Bergmann <>, Borislav Petkov <>, Borislav Petkov <>, Christoph Lameter <>, Daniel J Blueman <>, Eric Biederman <>, Fenghua Yu <>, Frederic Weisbecker <>, Gleb Natapov <>, Gokul Caushik <>, "H. J. Lu" <>, Hugh Dickins <>, Ingo Molnar <>, Ingo Molnar <>, Jacob Shin <>, Jamie Lokier <>, Jarkko Sakkinen <>, Jeremy Fitzhardinge <>, Joe Millenbach <>, Joerg Roedel <>, Johannes Weiner <>, Josh Triplett <>, Kyungmin Park <>, Lee Schermerhorn <>, Len Brown <>, Linux Kernel Mailing List <>, Marcelo Tosatti <>, Marek Szyprowski <>, Matt Fleming <>, Mel Gorman <>, Paul Turner <>, Pavel Machek <>, Pekka Enberg <>, Peter Zijlstra <>, Ralf Baechle <>, Rik van Riel <>, Rob Landley <>, Russell King <>, Rusty Russell <>, Shuah Khan <>, Shuah Khan <>, Stefano Stabellini <>, Steven Rostedt <>, Thomas Gleixner <>, Ville Syrjälä <>, Yasuaki Ishimatsu <>, Yinghai Lu <>, Zachary Amsden <>,,,,,,,
In-reply-to: <>
List-archive: <>
List-help: <>
List-id: linux-mips <>
List-owner: <>
List-post: <>
List-software: Ecartis version 1.0.0
List-subscribe: <>
List-unsubscribe: <>
References: <> <> <>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2
On 02/22/2013 09:30 AM, Dave Hansen wrote:


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.


H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.

<Prev in Thread] Current Thread [Next in Thread>