mirror of
https://github.com/opnsense/src.git
synced 2026-06-13 02:30:51 -04:00
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:
parent
fb909f7959
commit
4568f5a286
1 changed files with 4 additions and 5 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue