• KAMEZAWA Hiroyuki's avatar
    [IA64] bugfix stack layout upside-down · 83d2cd3d
    KAMEZAWA Hiroyuki authored
    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: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    83d2cd3d
init.c 20.6 KB