diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2026-04-23 17:05:54 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2026-04-23 17:05:54 +0000 |
| commit | d8863680744f2de6a97ca80d8eba3755f506203c (patch) | |
| tree | f2c1070e2585ba0e85d9bee6fa3269da78c827b4 | |
| parent | dfb804eb57f1e50f5c84060007e3b1e9c1edf253 (diff) | |
pmap_change_prot: Use void * instead of vm_offset_t
Effort: CHERI upstreaming
Reviewed by: kib
Sponsored by: AFRL, DARPA
Pull Request: https://github.com/freebsd/freebsd-src/pull/2068
| -rw-r--r-- | sys/amd64/amd64/pmap.c | 6 | ||||
| -rw-r--r-- | sys/amd64/include/pmap.h | 2 | ||||
| -rw-r--r-- | sys/arm64/arm64/pmap.c | 6 | ||||
| -rw-r--r-- | sys/arm64/include/pmap.h | 2 | ||||
| -rw-r--r-- | sys/kern/link_elf.c | 4 | ||||
| -rw-r--r-- | sys/kern/link_elf_obj.c | 2 |
6 files changed, 11 insertions, 11 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 6a04088ec479..66b17f89b4ff 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -9673,16 +9673,16 @@ pmap_change_attr(void *va, vm_size_t size, int mode) * map are never executable. */ int -pmap_change_prot(vm_offset_t va, vm_size_t size, vm_prot_t prot) +pmap_change_prot(void *va, vm_size_t size, vm_prot_t prot) { int error; /* Only supported within the kernel map. */ - if (va < kva_layout.km_low) + if ((vm_offset_t)va < kva_layout.km_low) return (EINVAL); PMAP_LOCK(kernel_pmap); - error = pmap_change_props_locked(va, size, prot, -1, + error = pmap_change_props_locked((vm_offset_t)va, size, prot, -1, MAPDEV_ASSERTVALID); PMAP_UNLOCK(kernel_pmap); return (error); diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h index 69366588fec8..1bf67248125c 100644 --- a/sys/amd64/include/pmap.h +++ b/sys/amd64/include/pmap.h @@ -393,7 +393,7 @@ void pmap_allow_2m_x_ept_recalculate(void); void pmap_bootstrap(vm_paddr_t *); int pmap_cache_bits(pmap_t pmap, int mode, bool is_pde); int pmap_change_attr(void *, vm_size_t, int); -int pmap_change_prot(vm_offset_t, vm_size_t, vm_prot_t); +int pmap_change_prot(void *, vm_size_t, vm_prot_t); void pmap_demote_DMAP(vm_paddr_t base, vm_size_t len, bool invalidate); void pmap_flush_cache_range(vm_offset_t, vm_offset_t); void pmap_flush_cache_phys_range(vm_paddr_t, vm_paddr_t, vm_memattr_t); diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 285fa158ecd5..3d42ee058c28 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -8237,16 +8237,16 @@ pmap_change_attr(void *va, vm_size_t size, int mode) * map are never executable. */ int -pmap_change_prot(vm_offset_t va, vm_size_t size, vm_prot_t prot) +pmap_change_prot(void *va, vm_size_t size, vm_prot_t prot) { int error; /* Only supported within the kernel map. */ - if (va < VM_MIN_KERNEL_ADDRESS) + if ((vm_offset_t)va < VM_MIN_KERNEL_ADDRESS) return (EINVAL); PMAP_LOCK(kernel_pmap); - error = pmap_change_props_locked(va, size, prot, -1, false); + error = pmap_change_props_locked((vm_offset_t)va, size, prot, -1, false); PMAP_UNLOCK(kernel_pmap); return (error); } diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index c984ac46226c..599e5a7f46ef 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -145,7 +145,7 @@ void pmap_activate_vm(pmap_t); void pmap_bootstrap_dmap(vm_size_t); void pmap_bootstrap(void); int pmap_change_attr(void *va, vm_size_t size, int mode); -int pmap_change_prot(vm_offset_t va, vm_size_t size, vm_prot_t prot); +int pmap_change_prot(void *va, vm_size_t size, vm_prot_t prot); void pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode); void pmap_kenter_device(vm_offset_t, vm_size_t, vm_paddr_t); bool pmap_klookup(vm_offset_t va, vm_paddr_t *pa); diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index 4c77f444d961..3a1bec6b09b5 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -826,8 +826,8 @@ preload_protect1(elf_file_t ef, vm_prot_t prot, bool reset) if ((phdr->p_flags & PF_X) != 0) nprot |= VM_PROT_EXECUTE; } - error = pmap_change_prot((vm_offset_t)ef->address + - phdr->p_vaddr, round_page(phdr->p_memsz), prot | nprot); + error = pmap_change_prot(ef->address + phdr->p_vaddr, + round_page(phdr->p_memsz), prot | nprot); if (error != 0) break; } diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c index cb96046694ef..511a44006f03 100644 --- a/sys/kern/link_elf_obj.c +++ b/sys/kern/link_elf_obj.c @@ -232,7 +232,7 @@ link_elf_protect_range(elf_file_t ef, vm_offset_t start, vm_offset_t end, return; if (ef->preloaded) { #ifdef __amd64__ - error = pmap_change_prot(start, end - start, prot); + error = pmap_change_prot((void *)start, end - start, prot); KASSERT(error == 0, ("link_elf_protect_range: pmap_change_prot() returned %d", error)); |
