Date: Thu, 23 Apr 2026 18:16:11 +0000 From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: d8863680744f - main - pmap_change_prot: Use void * instead of vm_offset_t Message-ID: <69ea61eb.46d83.55b6fff9@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d8863680744f2de6a97ca80d8eba3755f506203c commit d8863680744f2de6a97ca80d8eba3755f506203c Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2026-04-23 17:05:54 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2026-04-23 17:05:54 +0000 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 --- sys/amd64/amd64/pmap.c | 6 +++--- sys/amd64/include/pmap.h | 2 +- sys/arm64/arm64/pmap.c | 6 +++--- sys/arm64/include/pmap.h | 2 +- sys/kern/link_elf.c | 4 ++-- 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));home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69ea61eb.46d83.55b6fff9>
