[PATCH] score: Prevent thread_dispatch_disable_level < 0.

Christian Mauderer christian.mauderer at embedded-brains.de
Mon Dec 12 14:03:35 UTC 2016


From: Christian Mauderer <Christian.Mauderer at embedded-brains.de>

---
 cpukit/score/include/rtems/score/threaddispatch.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/cpukit/score/include/rtems/score/threaddispatch.h b/cpukit/score/include/rtems/score/threaddispatch.h
index 0238f8f..63eb4c6 100644
--- a/cpukit/score/include/rtems/score/threaddispatch.h
+++ b/cpukit/score/include/rtems/score/threaddispatch.h
@@ -232,6 +232,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self )
 
     _ISR_Local_enable( level );
   } else {
+    _Assert( disable_level > 0 );
     cpu_self->thread_dispatch_disable_level = disable_level - 1;
   }
 }
@@ -243,6 +244,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self )
  */
 RTEMS_INLINE_ROUTINE void _Thread_Dispatch_unnest( Per_CPU_Control *cpu_self )
 {
+  _Assert( cpu_self->thread_dispatch_disable_level > 0 );
   --cpu_self->thread_dispatch_disable_level;
 }
 
-- 
1.8.4.5



More information about the devel mailing list