From: Jeff D. <jd...@ad...> - 2006-07-28 03:06:40
|
Stack randomization needs to be conditional on the personality allowing it. Signed-off-by: Jeff Dike <jd...@ad...> Index: linux-2.6.17/arch/um/kernel/process_kern.c =================================================================== --- linux-2.6.17.orig/arch/um/kernel/process_kern.c 2006-06-17 21:49:35.000000000 -0400 +++ linux-2.6.17/arch/um/kernel/process_kern.c 2006-07-13 15:05:02.000000000 -0400 @@ -23,6 +23,7 @@ #include "linux/proc_fs.h" #include "linux/ptrace.h" #include "linux/random.h" +#include "linux/personality.h" #include "asm/unistd.h" #include "asm/mman.h" #include "asm/segment.h" @@ -476,7 +477,7 @@ int singlestepping(void * t) #ifndef arch_align_stack unsigned long arch_align_stack(unsigned long sp) { - if (randomize_va_space) + if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space) sp -= get_random_int() % 8192; return sp & ~0xf; } |