[DragonFlyBSD - Submit #2854] Support for place independent executables
bugtracker-admin at leaf.dragonflybsd.org
bugtracker-admin at leaf.dragonflybsd.org
Sun Dec 6 23:18:45 PST 2015
Issue #2854 has been updated by shamaz.
What is so special about ET_DYN_LOAD_ADDR? Is it really important to keep backward compatibility when vm.randomize_mmap=0? PIE code doesn't care where it is loaded in memory, no matter if it's randomized or not. Treat it like a shared library. Also it will not cause any trouble to userland programs, because world and ports are compiled as normal executables, not as PIEs. Currently, vm.randomize_mmap is only checked in vm_map_hint(), do you really want to check it somewhere else, making the code more complex and harder to understand? If you want, I can try to build some apps from DPorts with -pie flag and check if they are working (already tried flac decoder), just name it. If you want to keep ET_DYN_LOAD_ADDR, I'll just give up ) It is simpy a macro from FreeBSD which does not support ASLR at all.
----------------------------------------
Submit #2854: Support for place independent executables
http://bugs.dragonflybsd.org/issues/2854#change-12763
* Author: shamaz
* Status: New
* Priority: Normal
* Assignee:
* Category: Kernel
* Target version:
----------------------------------------
Hello. If you launch a PIE, the loader will map it in memory to a fixed
position (ET_DYN_LOAD_ADDR). This patch changes this behaviour and makes
the loader respect vm.randomize_map sysctl.
---Files--------------------------------
pie.patch (1.98 KB)
pie2.patch (2.18 KB)
pie3.patch (2.11 KB)
--
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account
More information about the Submit
mailing list