https://bugzilla.novell.com/show_bug.cgi?id=881727
https://bugzilla.novell.com/show_bug.cgi?id=881727#c2
--- Comment #2 from Vlastimil Babka 2014-06-09 16:15:11 UTC ---
(let's try again for better readability)
It appears that node_data corresponding to PFN 001a0000 is NULL during a
pfn_to_page() conversion.
The relevant disassembly is (function isolate_migratepages is being inlined to
compaction_alloc)
c031c4e2: 89 f0 mov %esi,%eax
eax = esi = 001a0000 (cc->free_pfn, or pfn during subsequent loops)
c031c4e4: c1 e8 0e shr $0xe,%eax
eax = pfn / PAGES_PER_SECTION = 0x68 = 104
c031c4e7: 0f be 80 60 38 b2 c0 movsbl -0x3f4dc7a0(%eax),%eax
eax = physnode_map [ eax ], i.e. nodeid (-0x3f4dc7a0 == c0b23860 which is
symbol physnode_map)
c031c4ee: 85 c0 test %eax,%eax
c031c4f0: 78 4c js c031c53e
test for negative nodeid failed -> we continue
c031c4f2: 8b 04 85 40 38 b2 c0 mov -0x3f4dc7c0(,%eax,4),%eax
eax = node_data[node_id]; (-0x3f4dc7c0 == c0b23840 which is symbol
node_data)
c031c4f9: 8b 90 bc 10 00 00 mov 0x10bc(%eax),%edx
<--- BUG, eax == 0 (node_data->node_start_pfn)
c031c4ff: 03 90 b4 10 00 00 add 0x10b4(%eax),%edx
(node_data->node_mem_map)
Possible explanations.
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.
2) Someone has written over node_data.
--
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.