https://bugs.freedesktop.org/show_bug.cgi?id=106258
--- Comment #30 from Michel Dänzer michel@daenzer.net --- I suspect there's an issue in amdgpu_vm_bo_split_mapping, e.g. this code looks suspicious:
if (pages_addr) { uint64_t count;
max_entries = min(max_entries, 16ull * 1024ull); for (count = 1; count < max_entries; ++count) { uint64_t idx = pfn + count;
if (pages_addr[idx] != (pages_addr[idx - 1] + PAGE_SIZE)) break; }
count is compared to max_entries, which is a number of GPU pages, but is also added to pfn, which is a number of CPU pages.