summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/early_printk.c
diff options
context:
space:
mode:
authorStuart MENEFY <stuart.menefy@st.com>2008-10-10 19:49:30 +0100
committerPaul Mundt <lethal@linux-sh.org>2008-11-13 17:40:30 +0900
commit5d52013cbb3d39bde9f5a6023193058eeb112e98 (patch)
treee941d9e884132d72c002536955014a938d740906 /arch/sh/kernel/early_printk.c
parent2cd0ebc83d771220eeddec91fd6d4cfefc2cc46e (diff)
downloadblackbird-op-linux-5d52013cbb3d39bde9f5a6023193058eeb112e98.tar.gz
blackbird-op-linux-5d52013cbb3d39bde9f5a6023193058eeb112e98.zip
sh: __copy_user function can corrupt the stack in case of exception
The __copy_user function can corrupt the stack in the case of a non-trivial length of data, and either of the first two move instructions cause an exception. This is because the fixup for these two instructions is mapped to the no_pop case, but these instructions execute after the stack is pushed. This change creates an explicit NO_POP exception mapping macro, and uses it for the two instructions executed in the trivial case where no stack pushes occur. More information at ST Linux bugzilla: https://bugzilla.stlinux.com/show_bug.cgi?id=4824 Signed-off-by: Dylan Reid <dylan_reid@bose.com> Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/early_printk.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud