RTEMS | rtems_message_queue_receive(RTEMS_NO_WAIT) in ISR corrupts unrelated task Event wait (#5792)
Sebastian Huber (@sebhub)
gitlab at rtems.org
Fri Oct 2 03:13:36 UTC 2026
Issue created by Sebastian Huber: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5792
In an interrupt, the immediate path of `_CORE_message_queue_Seize()` stores the priority of the message in `Wait.count` of the interrupted thread. If that thread is in the intend to block window of `_Event_Seize()`, the store replaces its event condition. The event wait of that thread then ends only with a timeout.
`_POSIX_Message_queue_Receive_support()` reads the priority from `Wait.count` after it releases the queue lock. An interrupt which receives a message in between changes the priority which `mq_receive()` returns.
Backport of #5789 to the 6.3 branch. This description was created with Claude Code assistance.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5792
You're receiving this email because of your account on gitlab.rtems.org. Unsubscribe from this thread: https://gitlab.rtems.org/-/namespace/49/sent_notifications/5-btf5aq685m3voy8g2nct10yh6-1d/unsubscribe | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | Help: https://gitlab.rtems.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20261002/a6cd7e4d/attachment.htm>
More information about the bugs
mailing list