#1816 new defect

Variable _ISR_Vector_table is not protected against interrupts

Reported by: Helder Silva Owned by: Joel Sherrill
Priority: low Milestone: Indefinite
Component: score Version:
Severity: critical Keywords:
Cc: Blocked By:
Blocking:

Description (last modified by Sebastian Huber)

Variable _ISR_Vector_table is not protected against interrupts in
_CPU_ISR_install_vector (called from _ISR_Install_vector) called from
rtems_interrupt_catch. Global variable should be protected to protect its consistency.

Change History (6)

comment:1 Changed on Jun 16, 2011 at 9:35:34 AM by Helder Silva

Interrupts should be disabled in _CPU_ISR_install_vector for these 2 actions:
*old_handler = _ISR_Vector_table[ real_vector ]; _ISR_Vector_table[ real_vector ] = new_handler;

comment:2 Changed on Nov 24, 2014 at 6:58:28 PM by Gedare Bloom

Version: HEAD4.11

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

comment:3 Changed on Dec 18, 2014 at 10:13:07 AM by Sebastian Huber

Description: modified (diff)
Milestone: 4.115.0
Priority: normallow
Severity: normalcritical

This problem still exists but seems to have no big impact on existing applications.

comment:4 Changed on Aug 14, 2017 at 12:29:55 AM by Chris Johns

Milestone: 5.0Indefinite
Version: 4.11

comment:5 Changed on Jun 18, 2021 at 9:24:45 AM by Sebastian Huber

Keywords: qualification added

comment:6 Changed on Aug 12, 2021 at 12:35:30 PM by Sebastian Huber

Keywords: qualification removed

The rtems_interrupt_catch() is a legacy interface, see also #3269, #4458, and #4459.

Note: See TracTickets for help on using tickets.