We are switching to kernel gsbase if an IRQ come from usermode with swpags.
Now there is comment which describes this:

  IRQ from user mode. Switch to kernel gsbase and inform context tracking that
  we're in kernel mode.

But now we execute swapgs, next TRACE_IRQS_OFF and only then the
CALL_enter_from_user_mode macro expands to the informing of
context tracking about this event. Let's move part of comment to
the right place where actual call to context tracing occured.

Signed-off-by: Alexander Kuleshov <[email protected]>
---
 arch/x86/entry/entry_64.S | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index ef766a3..5e97642 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -474,8 +474,7 @@ END(irq_entries_start)
        jz      1f
 
        /*
-        * IRQ from user mode.  Switch to kernel gsbase and inform context
-        * tracking that we're in kernel mode.
+        * IRQ from user mode.  Switch to kernel gsbase.
         */
        SWAPGS
 
@@ -489,6 +488,9 @@ END(irq_entries_start)
         */
        TRACE_IRQS_OFF
 
+       /*
+        * Inform context tracking that we're in kernel mode.
+        */
        CALL_enter_from_user_mode
 
 1:
-- 
2.8.0.rc3.1353.gea9bdc0

Reply via email to