alistair23-linux/arch/ia64/mm
KAMEZAWA Hiroyuki 83d2cd3de4 [IA64] bugfix stack layout upside-down
ia64 expects following vm layout:

== low memory
[register-stack grows up]
[memory-stack grows down]
== high memory

But the code assigns the base of the register stack at the
maximum stack size offset from the fixed address where the
stack *might* start.  Stack randomization will result in the
memory stack starting at a lower address than this, and if the
user has set a low stack limit with "ulimit -s", then you can
end up with the register stack above the memory stack (or if
you were very unlucky right on top of it!).

Fix: Calculate the base address for the register stack starting
from the actual address of the memory stack.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-03-29 15:15:24 -07:00
..
contig.c [IA64] min_low_pfn and max_low_pfn calculation fix 2007-03-20 13:41:57 -07:00
discontig.c [IA64] min_low_pfn and max_low_pfn calculation fix 2007-03-20 13:41:57 -07:00
extable.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fault.c [PATCH] pidspace: is_init() 2006-09-29 09:18:12 -07:00
hugetlbpage.c [PATCH] shared page table for hugetlb page 2006-12-07 08:39:21 -08:00
init.c [IA64] bugfix stack layout upside-down 2007-03-29 15:15:24 -07:00
ioremap.c [IA64] sparse cleanups 2006-08-02 16:03:44 -07:00
Makefile [PATCH] ia64: ioremap: check EFI for valid memory attributes 2006-03-26 08:56:54 -08:00
numa.c [PATCH] hot-add-mem x86_64: memory_add_physaddr_to_nid node fixup 2006-10-01 00:39:18 -07:00
tlb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00