xtensa: reset windowbase/windowstart when cloning the VM
authorChris Zankel <chris@zankel.net>
Wed, 24 Oct 2012 20:15:21 +0000 (13:15 -0700)
committerChris Zankel <chris@zankel.net>
Thu, 25 Oct 2012 21:53:36 +0000 (14:53 -0700)
commit6ebe7da25b7879194fdb5c43ea67b383dd9014d6
tree078aca917e5fe9db80af42298210684d250f98bf
parentcddfcbcd05851a3b720055d40fc61c63ea1c2bd1
xtensa: reset windowbase/windowstart when cloning the VM

When we copy a user thread with CLONE_VM, we also have to reset
windowbase and windowstart to start a pristine stack frame. Otherwise,
overflows can happen using the address 0 as the stack pointer.
Also add a special case for vfork, which continues on the
parent stack until it calls execve. Because this could be a call8, we
need to spill the stack pointer of the previus frame (if still 'live' in
the register file).

Signed-off-by: Chris Zankel <chris@zankel.net>
arch/xtensa/kernel/process.c