[PATCH] cpukit/score: avoid NULL and races in priority mutex
Joel Sherrill
joel at rtems.org
Fri Jan 3 17:18:55 UTC 2020
On Fri, Jan 3, 2020, 12:08 AM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:
> On 03/01/2020 00:24, Gedare Bloom wrote:
> > while ( !_Chain_Is_empty(
> &the_thread->Priority_node.Inherited_priorities ) ) {
> > + _ISR_Disable( level );
> > _Thread_Dequeue_priority_node(
> > ((Thread_Priority_node*)_Chain_First(
> > &the_thread->Priority_node.Inherited_priorities
> > ))
> > );
> > + _ISR_Enable( level );
> > }
>
> I don't know how the stuff works in detail, but this looks like a TOCTOU
> problem. Should this be changed into:
>
> _ISR_Disable( level );
> while ( !_Chain_Is_empty(
> &the_thread->Priority_node.Inherited_priorities ) ) {
> _Thread_Dequeue_priority_node(
> (Thread_Priority_node *) _Chain_First(
> &the_thread->Priority_node.Inherited_priorities
> )
> );
> _ISR_Flash( level );
> }
> _ISR_Enable( level );
>
I think Sebastian is right. There is a small window.
>
> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone : +49 89 189 47 41-16
> Fax : +49 89 189 47 41-09
> E-Mail : sebastian.huber at embedded-brains.de
> PGP : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200103/4b802768/attachment.html>
More information about the devel
mailing list