mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
d311156acf
commit 8474ba74193d302e8340dddd1e16c85cc4b98caf upstream. Make sure the compiler does not modify arguments of syscall functions. This can happen if the compiler generates a tailcall to another function. For example, without asmlinkage_protect sys_openat is compiled into this function: sys_openat: clr.l %d0 move.w 18(%sp),%d0 move.l %d0,16(%sp) jbra do_sys_open Note how the fourth argument is modified in place, modifying the register %d4 that gets restored from this stack slot when the function returns to user-space. The caller may expect the register to be unmodified across system calls. Signed-off-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Zefan Li <lizefan@huawei.com> |
||
---|---|---|
.. | ||
amiga | ||
apollo | ||
atari | ||
bvme6000 | ||
configs | ||
emu | ||
fpsp040 | ||
hp300 | ||
ifpsp060 | ||
include/asm | ||
kernel | ||
lib | ||
mac | ||
math-emu | ||
mm | ||
mvme16x | ||
mvme147 | ||
platform | ||
q40 | ||
sun3 | ||
sun3x | ||
tools/amiga | ||
install.sh | ||
Kconfig | ||
Kconfig.bus | ||
Kconfig.cpu | ||
Kconfig.debug | ||
Kconfig.devices | ||
Kconfig.machine | ||
Makefile |