]> git.baikalelectronics.ru Git - kernel.git/commit
[IA64] bugfix stack layout upside-down
authorKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Fri, 23 Mar 2007 03:17:46 +0000 (12:17 +0900)
committerTony Luck <tony.luck@intel.com>
Thu, 29 Mar 2007 22:15:24 +0000 (15:15 -0700)
commit4a76fddf55c98623a5117f2ddca155b5d448e2f4
tree85d056d9a718f69c7242a8bb6cde17fc928fa4cc
parenta8b75201f5ba61be7000928cd0db1afac57fffd4
[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>
arch/ia64/mm/init.c