[PATCH] x86: dovetail: Call trap exit code with hard IRQs disabled

Florian Bezdeka <[email protected]>
Newsgroups dev.linux.lists.xenomai
Message-ID <[email protected]>
mark_trap_exit() should do the reverse operations of mark_trap_entry()
keeping ordering in mind. Especially as oob_trap_unwind() is expecting
hard IRQs to be off.

Seems that this is a long standing issue, so most likely all currently
maintained dovetail branches seem affected.

Signed-off-by: Florian Bezdeka <[email protected]>
---
 arch/x86/kernel/traps.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 6b5b33b4d511..8d1a7889626b 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -354,8 +354,8 @@ bool mark_trap_entry(int trapnr, struct pt_regs *regs)
 static __always_inline
 void mark_trap_exit(int trapnr, struct pt_regs *regs)
 {
-	oob_trap_unwind(trapnr, regs);
 	hard_cond_local_irq_disable();
+	oob_trap_unwind(trapnr, regs);
 }
 
 static __always_inline
-- 
2.54.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.