[RTEMS Project] #2280: Object extend is broken on SMP
RTEMS trac
trac at rtems.org
Wed Mar 4 06:53:45 UTC 2015
#2280: Object extend is broken on SMP
-----------------------------+--------------------
Reporter: sebastian.huber | Owner:
Type: defect | Status: new
Priority: normal | Milestone: 4.11.1
Component: SMP | Version: 4.11
Severity: normal | Keywords:
-----------------------------+--------------------
The object identifier to control mapping is done like this:
the_object = information->local_table[ index ]
The object extension allocates a new local_table and frees the old one.
Thus the sequence above may access freed memory under certain cases.
Possible solutions:
1. Disable interrupts and make sure that the old table stays valid for a
long enough time period after the registration of the new table. This
timing depends on the particular hardware and may lead to very hard to
find bugs.
2. Use a generation count, e.g. update the generation count during local
table updates and make sure the generation count didn't change during
local table reads.
--
Ticket URL: <http://devel.rtems.org/ticket/2280>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list