On 25.10.18 14:20, Philippe Gerum wrote:
We may call switch_to_bitmap() from the head stage when a co-kernel
switches to a new thread context, in which case IRQs are hard
disabled, although the root stage might be unstalled.

Make sure the preemption debug code in refresh_tss_limit() is aware of
this.
---
  arch/x86/include/asm/desc.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h
index 0e3758c0c954..7a4cb4333df3 100644
--- a/arch/x86/include/asm/desc.h
+++ b/arch/x86/include/asm/desc.h
@@ -309,7 +309,7 @@ static inline void force_reload_TR(void)
   */
  static inline void refresh_tss_limit(void)
  {
-       DEBUG_LOCKS_WARN_ON(preemptible());
+       DEBUG_LOCKS_WARN_ON(!hard_irqs_disabled() && preemptible());
if (unlikely(this_cpu_read(__tss_limit_invalid)))
                force_reload_TR();


This is 4.14-only, right?

Jan

--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

Reply via email to