[uClibc] [PATCH] correct ld.so DT_DEBUG mprotect size
Bradley D. LaRonde
brad at laronde.org
Wed May 12 23:45:16 UTC 2004
Oops, this adds the page alignment offset to the mprotected size.
Regards,
Brad
--- uClibc/ldso/ldso/dl-startup.c.orig 2004-05-12 18:50:43.000000000 -0400
+++ uClibc/ldso/ldso/dl-startup.c 2004-05-12 19:37:26.000000000 -0400
@@ -383,7 +383,8 @@
* it to us rx.
*/
Elf32_Addr mpa = (ppnt->p_vaddr + app_tpnt->loadaddr) & ~(_dl_pagesize - 1);
- if(_dl_mprotect(mpa, ppnt->p_memsz, PROT_READ | PROT_WRITE | PROT_EXEC)) {
+ Elf32_Word mps = ((ppnt->p_vaddr + app_tpnt->loadaddr) - mpa) + ppnt->p_memsz;
+ if(_dl_mprotect(mpa, mps, PROT_READ | PROT_WRITE | PROT_EXEC)) {
SEND_STDERR("Couldn't mprotect .dynamic segment to rwx.\n");
_dl_exit(0);
}
More information about the uClibc
mailing list