mirror of https://gitee.com/openkylin/linux.git
5d52013cbb
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> |
||
---|---|---|
.. | ||
Makefile | ||
checksum.S | ||
clear_page.S | ||
copy_page.S | ||
delay.c | ||
div64-generic.c | ||
div64.S | ||
io.c | ||
memchr.S | ||
memcpy-sh4.S | ||
memcpy.S | ||
memmove.S | ||
memset.S | ||
strlen.S |