These calls are used for buddy pages at least in drm's ttm_pool, which
leads to a panic when we invoke lowmem handlers and drm tries to shrink
the pool.
Cope with numpages > 1 by using page_to_virt() and the corresponding
set_memory_*() call for each. This also seems to be more correct, as
pmap_page_set_memattr() will only affect the DMAP mapping while the
new version updates both the DMAP and non-DMAP KVA that drm is more
likely using.
This stabilized my amdgpu laptop running two VMs, chromium and a
concurrent buildworld.