[ 259.216661][ T1417] test_pages_in_a_zone: pfn 8000 is not valid
[ 259.226547][ T1417] page:00000000f4aa8c5c is uninitialized and poisoned
[ 259.226560][ T1417] page dumped because: VM_BUG_ON_PAGE(PagePoisoned(p))
Can you please try Anshuman's patch "arm64/mm: Drop HAVE_ARCH_PFN_VALID":
https://lore.kernel.org/lkml/1621947349-25421-1-git-send-email-anshuman.khandual@xxxxxxx
It seems to me that the check for memblock_is_memory() in
arm64::pfn_valid() is what makes init_unavailable_range() to bail out for
section parts that are not actually populated and then we have
VM_BUG_ON_PAGE(PagePoisoned(p)) for these pages.