On return from exception, we want to check if the current context is
root or head to take the fast exit in the latter case. TIP_HEAD is set
then, thus we have to check for 'ne' (Z==0) after tst.

This affects only non-legacy users.

Signed-off-by: Jan Kiszka <[email protected]>
---

This is for 3.14, but it should equally well apply to 3.16. Fixes both
sigdebug test as well as the weird sshd deaths on the virtual vexpress
target.

 arch/arm/kernel/entry-armv.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index a608340..f6ef839 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -736,8 +736,8 @@ ENTRY(ret_from_exception)
        get_thread_info tsk
        ldr     r0, [tsk, #TI_IPIPE]
        tst     r0, #_TIP_HEAD
- THUMB(        it eq)
-       beq     __ipipe_ret_to_user_irqs_disabled  @ Fast exit path over 
non-root domains
+ THUMB(        it ne)
+       bne     __ipipe_ret_to_user_irqs_disabled  @ Fast exit path over 
non-root domains
 #endif /* !CONFIG_IPIPE_LEGACY */
 #else /* !CONFIG_IPIPE */
        get_thread_info tsk
-- 
2.1.4


_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to