diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2026-04-23 17:05:55 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2026-04-23 17:05:55 +0000 |
| commit | 30af462bd2641798a6ac29235b82e49ad386d363 (patch) | |
| tree | f7a7aa646f09c9d299c500612ccd9f6cdce5a6c3 | |
| parent | fe3e92e6868dce2ed94c98428b8df1f27ed3ef63 (diff) | |
| -rw-r--r-- | sys/i386/linux/linux_machdep.c | 2 | ||||
| -rw-r--r-- | sys/kern/kern_exec.c | 14 | ||||
| -rw-r--r-- | sys/vm/vm_extern.h | 4 | ||||
| -rw-r--r-- | sys/vm/vm_kern.c | 10 |
4 files changed, 15 insertions, 15 deletions
diff --git a/sys/i386/linux/linux_machdep.c b/sys/i386/linux/linux_machdep.c index 0e056aadb4b5..ff1748d7db94 100644 --- a/sys/i386/linux/linux_machdep.c +++ b/sys/i386/linux/linux_machdep.c @@ -852,7 +852,7 @@ cleanup: /* Release the temporary mapping. */ if (a_out) - kmap_free_wakeup(exec_map, (vm_offset_t)a_out, PAGE_SIZE); + kmap_free_wakeup(exec_map, a_out, PAGE_SIZE); return (error); } diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 20d022050803..df5a1c044643 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1414,7 +1414,7 @@ err_exit: } struct exec_args_kva { - vm_offset_t addr; + void *addr; u_int gen; SLIST_ENTRY(exec_args_kva) next; }; @@ -1442,7 +1442,7 @@ exec_prealloc_args_kva(void *arg __unused) } SYSINIT(exec_args_kva, SI_SUB_EXEC, SI_ORDER_ANY, exec_prealloc_args_kva, NULL); -static vm_offset_t +static void * exec_alloc_args_kva(void **cookie) { struct exec_args_kva *argkva; @@ -1457,8 +1457,7 @@ exec_alloc_args_kva(void **cookie) SLIST_REMOVE_HEAD(&exec_args_kva_freelist, next); mtx_unlock(&exec_args_kva_mtx); } - kasan_mark((void *)argkva->addr, exec_map_entry_size, - exec_map_entry_size, 0); + kasan_mark(argkva->addr, exec_map_entry_size, exec_map_entry_size, 0); *(struct exec_args_kva **)cookie = argkva; return (argkva->addr); } @@ -1468,9 +1467,8 @@ exec_release_args_kva(struct exec_args_kva *argkva, u_int gen) { vm_offset_t base; - base = argkva->addr; - kasan_mark((void *)argkva->addr, 0, exec_map_entry_size, - KASAN_EXEC_ARGS_FREED); + base = (vm_offset_t)argkva->addr; + kasan_mark(argkva->addr, 0, exec_map_entry_size, KASAN_EXEC_ARGS_FREED); if (argkva->gen != gen) { (void)vm_map_madvise(exec_map, base, base + exec_map_entry_size, MADV_FREE); @@ -1533,7 +1531,7 @@ int exec_alloc_args(struct image_args *args) { - args->buf = (char *)exec_alloc_args_kva(&args->bufkva); + args->buf = exec_alloc_args_kva(&args->bufkva); return (0); } diff --git a/sys/vm/vm_extern.h b/sys/vm/vm_extern.h index 725f6097d8a9..207eb721d129 100644 --- a/sys/vm/vm_extern.h +++ b/sys/vm/vm_extern.h @@ -51,8 +51,8 @@ void *kva_alloc_aligned(vm_size_t, vm_size_t); void kva_free(void *, vm_size_t); /* These operate on pageable virtual addresses. */ -vm_offset_t kmap_alloc_wait(vm_map_t, vm_size_t); -void kmap_free_wakeup(vm_map_t, vm_offset_t, vm_size_t); +void *kmap_alloc_wait(vm_map_t, vm_size_t); +void kmap_free_wakeup(vm_map_t, void *, vm_size_t); /* These operate on virtual addresses backed by memory. */ void *kmem_alloc_attr(vm_size_t size, int flags, diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index 3c5dc57f3668..3a6fed6cb3e1 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -714,14 +714,14 @@ kmem_free(void *addr, vm_size_t size) * * This routine may block. */ -vm_offset_t +void * kmap_alloc_wait(vm_map_t map, vm_size_t size) { vm_offset_t addr; size = round_page(size); if (!swap_reserve(size)) - return (0); + return (NULL); for (;;) { /* @@ -744,7 +744,7 @@ kmap_alloc_wait(vm_map_t map, vm_size_t size) vm_map_insert(map, NULL, 0, addr, addr + size, VM_PROT_RW, VM_PROT_RW, MAP_ACC_CHARGED); vm_map_unlock(map); - return (addr); + return ((void *)addr); } /* @@ -754,9 +754,11 @@ kmap_alloc_wait(vm_map_t map, vm_size_t size) * waiting for memory in that map. */ void -kmap_free_wakeup(vm_map_t map, vm_offset_t addr, vm_size_t size) +kmap_free_wakeup(vm_map_t map, void *va, vm_size_t size) { + vm_offset_t addr; + addr = (vm_offset_t)va; vm_map_lock(map); (void) vm_map_delete(map, trunc_page(addr), round_page(addr + size)); if ((map->flags & MAP_NEEDS_WAKEUP) != 0) { |
