From: Paul Mundt Date: Mon, 19 May 2008 10:39:33 +0000 (+0900) Subject: sh: Fix up restorer in debug_trap exception return path. X-Git-Tag: v2.6.26-rc4~119^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=336f1d326831873ffab6de5fcec4b3be05103ae0;p=pandora-kernel.git sh: Fix up restorer in debug_trap exception return path. There are a few different types of debug trap exceptions, though now that they are all going through a special jump table, the restorer needs to be unified as well. Presently this is falling through the ret_from_fork path, which more or less does the right thing on SH-3/4 whilst being completely unsuitable on MMU-less targets. Ultimately what we want here is a branch through the platform's restore_all directly, without worrying about the retval being clobbered. We can accomplish that through a branch to __restore_all directly, so switch it so we come back from the jump table and branch to the restorer. This fixes up a recursion in the nommu WARN_ON() path, as well as some other userspace nastiness where said recursion caused serious stack corruption. Signed-off-by: Paul Mundt --- Reading git-diff-tree failed