When the dynamic linker loads a shared library into memory, it initially allocates a chunk of memory. The memory is then carved into smaller chunks for each LOAD region, and appropriate memory protections applied. Modify the initial memory allocation so that the pages are mapped as PROT_NONE, rather than PROT_READ / PROT_EXEC. This ensures that gaps between LOAD regions are not inadvertantly readable / executable. (Long term, we should munmap() these gaps entirely) Change-Id: If128a203ccc6fe12dcbbd2bfe0cf13a2045675af
77 KiB
77 KiB