#338 closed defect (fixed)

rtems_io_lookup_name is not re-enterant

Reported by: sjohnson Owned by: Joel Sherrill
Priority: normal Milestone: 2
Component: score Version: unknown
Severity: major Keywords:
Cc: bugs@… Blocked By:
Blocking:

Description

rtems_io_lookup_name, due to a change in filesystem control could not retain the same calling semantics, without loosing it's ability to be re-enterant. This also creates potential race conditions as rtems_io_lookup_name is returning an adress of a static variable, which can be overwritten by a subsequent call to the function, while the previous caller is still using the reference.

Release:
Snapshot 20030128

Environment:
Linux, but any other would also exhibit problem

How-To-Repeat:
Use rtems_io_lookup_name twice, after the second call, the information returned by the first call is no longer valid, as it references the information required by the second call.

Attachments (1)

rtems_io_lookup_name_patch.tgz (869 bytes) - added by sjohnson on Dec 3, 2006 at 1:31:13 PM.
rtems_io_lookup_name_patch.tgz

Download all attachments as: .zip

Change History (2)

comment:1 Changed on Feb 3, 2003 at 11:14:05 PM by Joel Sherrill

Status: assignedclosed

State-Changed-From-To: open->closed
State-Changed-Why: Patch applied. Propagated to Ada bindings and documentation

as well as a handful of drivers that used this routine.

Changed on Dec 3, 2006 at 1:31:13 PM by sjohnson

rtems_io_lookup_name_patch.tgz

Note: See TracTickets for help on using tickets.