[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.1.10.0805301517500.3141@woody.linux-foundation.org>
Date: Fri, 30 May 2008 15:30:06 -0700 (PDT)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Arjan van de Ven <arjan@...ux.intel.com>
cc: Hugh Dickins <hugh@...itas.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Ingo Molnar <mingo@...e.hu>, Greg KH <greg@...ah.com>,
Jeff Garzik <jeff@...zik.org>
Subject: Re: Top kernel oopses/warnings for the week of May 30th 2008
On Fri, 30 May 2008, Arjan van de Ven wrote:
>
> ok for some it did gather this information, and it is
>
> kernel BUG at mm/highmem.c:319!
That's just _odd_. The call chain actually has kmap() in it, and kmap
does:
if (!PageHighMem(page))
return page_address(page);
return kmap_high(page);
so if it's the one at line 319, which says
BUG_ON(!PageHighMem(page));
then I wonder what happened to that PageHighMem() test of the page in
between..
Ahh.. Not the same "page". It looks like it's in the
flush_all_zero_pkmaps() path, and it's clearing some _other_ page in the
pkmap table in order to make room for the new one. So the page that causes
problems is from here:
page = pte_page(pkmap_page_table[i]);
rather than the one we're trying to map.
Not that it explains the BUG_ON(). We should only insert page table
entries into the pkmap_page_table[] array in map_new_virtual(), which in
turn is only called from kmap_high(), which in turn means that *those*
pages have also gine through the PageHighMem() test.
So it sounds like we either
- have corruption in pkmap_page_table[]
- or pte_page() doesn't reverse mk_pte(page) propely, and one or the
other is broken.
Does anybody know if the fc9 x86-32 kernel is built with PAE enabled?
Might this be another PAE bit-masking bug and thus possibly fixed by the
PTE_MASK changes?
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists