From 03a6f9fd43c0dc1a4a0ea8b2757285d2e33b6bd1 Mon Sep 17 00:00:00 2001 From: kib Date: Mon, 29 May 2017 13:18:20 +0000 Subject: MFC r318312: Fix the AT_EXECFD functionality. --- libexec/rtld-elf/map_object.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libexec') diff --git a/libexec/rtld-elf/map_object.c b/libexec/rtld-elf/map_object.c index 30af4ce..6f77d98 100644 --- a/libexec/rtld-elf/map_object.c +++ b/libexec/rtld-elf/map_object.c @@ -193,6 +193,8 @@ map_object(int fd, const char *path, const struct stat *sb) base_flags = MAP_PRIVATE | MAP_ANON | MAP_NOCORE; if (npagesizes > 1 && round_page(segs[0]->p_filesz) >= pagesizes[1]) base_flags |= MAP_ALIGNED_SUPER; + if (base_vaddr != 0) + base_flags |= MAP_FIXED | MAP_EXCL; mapbase = mmap(base_addr, mapsize, PROT_NONE, base_flags, -1, 0); if (mapbase == (caddr_t) -1) { -- cgit v1.1