#1815 closed defect (invalid)

_ISR_Nest_level should be protected with interrupts disabled in function _Watchdog_Insert

Reported by: Helder Silva Owned by: Joel Sherrill
Priority: normal Milestone: 6.1
Component: score Version: 4.11
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description (last modified by Sebastian Huber)

_ISR_Nest_level should be protected with interrupts disabled in function
_Watchdog_Insert, because another interrupt can occur after _ISR_Nest_level is
saved, causing inconsistency in the global variable.

Change History (6)

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

Yes, by swapping those 2 lines.

comment:2 Changed on Nov 24, 2014 at 2:59:19 PM by Joel Sherrill

Description: modified (diff)

Was this fixed?

comment:3 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:4 Changed on Dec 18, 2014 at 10:11:08 AM by Sebastian Huber

Description: modified (diff)
Milestone: 4.115.0

I am not sure what the problem is. Interrupts are nested, so the code looks all right to me.

For SMP we have to re-write the watchdog stuff anyway and the _Watchdog_Sync_level and _Watchdog_Sync_count will go away.

comment:5 Changed on Jan 5, 2016 at 10:41:38 AM by Sebastian Huber

Resolution: invalid
Status: newclosed

There is no problem in pre 4.11 versions, since interrupts are nested. Version 4.11 and later use a different watchdog handler implementation.

comment:6 Changed on Nov 9, 2017 at 6:26:42 AM by Sebastian Huber

Milestone: 5.06.1

Milestone renamed

Note: See TracTickets for help on using tickets.