[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