tree e0769039173233ea75d4e9ed87bbcfec690dc446
parent c9f0b1c1410e9e637b819c5050fc8c1f1971e178
author Stuart Menefy <stuart.menefy@st.com> 1164340896 +0900
committer Paul Mundt <lethal@linux-sh.org> 1165369538 +0900

sh: Fix syscall tracing ordering.

The implementation of system call tracing in the kernel has a
couple of ordering problems:

 - the validity of the system call number is checked before
   calling out to system call tracing code, and should be
   done after

 - the system call number used when tracing is the one the
   system call was invoked with, while the system call tracing
   code can legitimatly change the call number (for example
   strace permutes fork into clone)

This patch fixes both of these problems, and also reoders the
code slightly to make the direct path through the code the
common case.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
