Messages in this thread |  | | From | Andrea Arcangeli <> | | Subject | [PATCH 0/1] VM_BUG_ON_PAGE(!zone_spans_pfn) in set_pfnblock_flags_mask | | Date | Sat, 21 Nov 2020 14:45:05 -0500 |
| |
Hello,
After hitting this twice on two different systems, I'm now running with the tentative fix applied, but it's not a meaningful test since it's non reproducible.
However it is possible to inject this bug if you do "grep E820 /proc/iomem" and then find a phys addr there with a struct page (i.e. pfn_valid) in a zone, with this change:
min_pfn = pageblock_start_pfn(cc->free_pfn - (distance >> 1)); + if (cc->zone is the zone where the e820 physaddr has a pfn_valid) + min_pfn = physaddr_of_E820_non_RAM_page_with_valid_pfn >> PAGE_SHIFT;
I didn't try to inject the bug to validate the fix and it'd be great if someone can try that to validate this or any other fix.
Andrea Arcangeli (1): mm: compaction: avoid fast_isolate_around() to set pageblock_skip on reserved pages
mm/compaction.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
|  |