Re: Top kernel oopses/warnings for the week of May 30th 2008

From: Arjan van de Ven
Date: Fri May 30 2008 - 18:34:36 EST


Linus Torvalds wrote:

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?

versions that do identify themselves as "2.6.25-14.fc9.i686.PAE", and these ones didn't,
(they're all in the "2.6.25-14.fc9.i686" form) so this is a kernel without PAE.
--
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/