On Sat, 2006-03-18 at 13:16 +0700, Mulyadi Santosa wrote: > Hi Arjan > > > 1) Performance: By changing the stack to different positions, you get > > less cache aliases, so you can use the cpu cache better > > What do you mean by "cache alias"? Mapped to same cache line? yes; caches are 2, 4 or 8 way associative and if you happen to have the stack pointer always at the same position there is "pressure" and overlap there > > > 2) Security: By having a different and unpredictable stack place in > > memory, stack based buffer overflow exploits are harder to create. > > (and in combination with other security measures, really really hard > > ;) > > BTW, does that mean, it also immune against brute force style attack > (e.g combining shell code with various number of NOPs)? This is > assuming stack area still allow executable pages. immune no. It also depends on the amount of randomization (8Mb or so nowadays). It does make it harder (takes away some freedom for the exploit), but in real life on its own it's not secure "enough", you want a combination of things. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/