CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2014/11/03 10:50:56
Modified files:
libexec/ld.so : loader.c
libexec/ld.so/alpha: archdep.h
libexec/ld.so/powerpc: archdep.h
libexec/ld.so/sparc: archdep.h
libexec/ld.so/sparc64: archdep.h
Log message:
Eliminate RTLD_PROTECT_PLT: ld.so is built with -Bsymbolic so the
PLT is empty/unused. On at least macppc and sparc64, ld.so's attempt
to mprotect its PLT could instead hit its own allocated data and
cause a segfault shortly there after.
While here, take a shot at preventing the same issue with the GOT
by checking for __got_start != __got_end.
reproduction *with ktracing* by afresh1@ provided the key data
ok miod@ deraadt@