kern_kcov: replace vm_page_next() with iterator

Use VM_RADIX_FORALL, and drop a use of vm_page_next(), in kcov_free().

Reviewed by:	kib
Differential Revision:	kern_kcov: replace vm_page_next() with iterator
This commit is contained in:
Doug Moore 2025-04-18 12:18:00 -05:00
parent fb909f7959
commit 4568f5a286

View file

@ -396,20 +396,19 @@ kcov_alloc(struct kcov_info *info, size_t entries)
static void
kcov_free(struct kcov_info *info)
{
struct pctrie_iter pages;
vm_page_t m;
size_t i;
if (info->kvaddr != 0) {
pmap_qremove(info->kvaddr, info->bufsize / PAGE_SIZE);
kva_free(info->kvaddr, info->bufsize);
}
if (info->bufobj != NULL) {
vm_page_iter_limit_init(&pages, info->bufobj,
info->bufsize / PAGE_SIZE);
VM_OBJECT_WLOCK(info->bufobj);
m = vm_page_lookup(info->bufobj, 0);
for (i = 0; i < info->bufsize / PAGE_SIZE; i++) {
VM_RADIX_FORALL(m, &pages)
vm_page_unwire_noq(m);
m = vm_page_next(m);
}
VM_OBJECT_WUNLOCK(info->bufobj);
vm_object_deallocate(info->bufobj);
}