[rtems commit] stackchk: Remove heap hack

Sebastian Huber sebh at rtems.org
Fri Sep 21 06:08:16 UTC 2018


Module:    rtems
Branch:    master
Commit:    a75a7d3c577528497ce64777b572c1f60574a67c
Changeset: http://git.rtems.org/rtems/commit/?id=a75a7d3c577528497ce64777b572c1f60574a67c

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Sep 21 07:30:44 2018 +0200

stackchk: Remove heap hack

It is now guranteed that threads do not use a freed stack during
termination.

---

 cpukit/libmisc/stackchk/check.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/cpukit/libmisc/stackchk/check.c b/cpukit/libmisc/stackchk/check.c
index bc4a7fc..a3b7190 100644
--- a/cpukit/libmisc/stackchk/check.c
+++ b/cpukit/libmisc/stackchk/check.c
@@ -113,14 +113,8 @@ static inline bool Stack_check_Frame_pointer_in_range(
     ((_the_stack)->area)
 
 #else
-  /*
-   * We need this magic offset because during a task delete the task stack will
-   * be freed before we enter the task switch extension which checks the stack.
-   * The task stack free operation will write the next and previous pointers
-   * for the free list into this area.
-   */
   #define Stack_check_Get_pattern( _the_stack ) \
-    ((char *)(_the_stack)->area + sizeof(Heap_Block) - HEAP_BLOCK_HEADER_SIZE)
+    ((char *)(_the_stack)->area)
 
   #define Stack_check_Calculate_used( _low, _size, _high_water) \
       ( ((char *)(_low) + (_size)) - (char *)(_high_water) )




More information about the vc mailing list