context_tracking: Ensure that the critical path cannot be instrumented
[linux-block.git] / include / linux / context_tracking.h
index 8cac62ee6add1d96a8e7bc5e9a0d6919293e2413..981b880d5b605e8e5a46f1b4b016751d2b8be323 100644 (file)
@@ -33,13 +33,13 @@ static inline void user_exit(void)
 }
 
 /* Called with interrupts disabled.  */
-static inline void user_enter_irqoff(void)
+static __always_inline void user_enter_irqoff(void)
 {
        if (context_tracking_enabled())
                __context_tracking_enter(CONTEXT_USER);
 
 }
-static inline void user_exit_irqoff(void)
+static __always_inline void user_exit_irqoff(void)
 {
        if (context_tracking_enabled())
                __context_tracking_exit(CONTEXT_USER);
@@ -75,7 +75,7 @@ static inline void exception_exit(enum ctx_state prev_ctx)
  * is enabled.  If context tracking is disabled, returns
  * CONTEXT_DISABLED.  This should be used primarily for debugging.
  */
-static inline enum ctx_state ct_state(void)
+static __always_inline enum ctx_state ct_state(void)
 {
        return context_tracking_enabled() ?
                this_cpu_read(context_tracking.state) : CONTEXT_DISABLED;