X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=arch%2Farm%2Fkernel%2Fentry-common.S;h=c589dc3ecd1ac0fb48cc619496fd3456649cb0a6;hb=f80dff9da07d81da16e3b842118d47b9febf9c01;hp=75af6d6e2f28df15e50847f76c59786a949ff7a3;hpb=4d3ce21fa9d2eaeda113aa2f9c2da80d972bef64;p=linux-2.6 diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 75af6d6e2f..c589dc3ecd 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S @@ -7,9 +7,9 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#include #include +#include #include "entry-header.S" @@ -26,6 +26,9 @@ ret_fast_syscall: tst r1, #_TIF_WORK_MASK bne fast_work_pending + /* perform architecture specific actions before user return */ + arch_ret_to_user r1, lr + @ fast_restore_user_regs ldr r1, [sp, #S_OFF + S_PSR] @ get calling cpsr ldr lr, [sp, #S_OFF + S_PC]! @ get pc @@ -62,6 +65,9 @@ ret_slow_syscall: tst r1, #_TIF_WORK_MASK bne work_pending no_work_pending: + /* perform architecture specific actions before user return */ + arch_ret_to_user r1, lr + @ slow_restore_user_regs ldr r1, [sp, #S_PSR] @ get calling cpsr ldr lr, [sp, #S_PC]! @ get pc