[Bug 2152] New: Race condition with unified work areas

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Thu Nov 21 09:41:34 UTC 2013


https://www.rtems.org/bugzilla/show_bug.cgi?id=2152

             Bug #: 2152
           Summary: Race condition with unified work areas
    Classification: Unclassified
           Product: RTEMS
           Version: HEAD
          Platform: All
        OS/Version: RTEMS
            Status: NEW
          Severity: normal
          Priority: P3
         Component: cpukit
        AssignedTo: joel.sherrill at oarcorp.com
        ReportedBy: sebastian.huber at embedded-brains.de


With unified work areas enabled the RTEMS workspace and the C program heap are
the same.  The workspace is protected by disable thread dispatching.  The C
program heap is protected by the allocator mutex.

Now suppose we are inside a C program heap allocation.  Now an interrupt
happens which activates a higher priority thread.  This thread can run
immediately since thread dispatching is allowed.  Now this thread performs a
workspace allocation which is possible since the workspace is not protected by
the allocator mutex.  Now two threads access the heap at the same time and
corruption may occur.

To be safe in case of unified work areas enabled the C program heap must
disable thread dispatching.  This has a very negative influence on the
worst-case thread dispatch latency which now depends on the heap fragmentation.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list