https://bugzilla.novell.com/show_bug.cgi?id=881727
https://bugzilla.novell.com/show_bug.cgi?id=881727#c3
--- Comment #3 from Vlastimil Babka
1) 001a0000 is not a valid pfn, and therefore doesn't have guaranteed pfn_to_page()? But we have passed the pfn_valid(pfn) test, unless the test is insufficient.
I was wrong, the code where this happened is not yet pfn_to_page(pfn), but the very pfn_valid(pfn) check. It just uses almost the same structures and functions. Furthermore, pfn 001a0000 is (according to the provided zoneinfo), one page past the end of the Normal zone. This is where the compaction free scanner initializes, and normally, either pfn_valid() would be false, or it would be a beginning of a different, zone, so the page_zone() == zone check would fail and the free scanner would advance to the previous pageblock. So the fact that pfn_valid crashes is bad. Looks like physnode_map returns bogus node id here, since either it should return 0 (the only node, which I believe has its node_data correctly initialized ortherwise this system would crash much sooner), or -1 which would make it jump away on the js instruction at c031c4f0. With pfn (001a0000 - 1) the offset in physnode_map would be 103, while here it's 104. So I'm guessing some off-by-one error during physnode_map initialization. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.