Fix a signal trampoline bug

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3053 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo
2010-10-27 01:46:08 +00:00
parent fc6c03b0d6
commit 30f2743926
24 changed files with 387 additions and 196 deletions
+23
View File
@@ -1431,3 +1431,26 @@ include:
* A new configuration to support the mbed.org LPC1768 board (Contributed
by Dave Marples), and
* A driver for the Atmel AT45DB161D 4Mbit SPI FLASH part,
nuttx-5.12
^^^^^^^^^^
This is the 59th release of NuttX. This is a critical bugfix release.
* Fixed an important error in the signal trampoline logic. Essentially,
interrupts are re-enabled while the signal handler executes, but the
logic to re-disable the interrupts before returning from the signal
handler trampoline was missing. Under certain circumstances, this
can cause stack corruption. This was discovered by David Hewson on
an ARM9 platform, but since the code has been leveraged, the bug has
been propogated from ARM to Cortex-M3, AVR32, M16C, SH1, ZNEO, eZ80,
Z8, and Z80 -- almost every architecture. The correction has been
incorporated for all architectures but only verified on a few.
Other notable changes in NuttX-5.12:
* A complete port for the AVR32 (AT91UC3B0256) is incorporated in the
source tree. Testing of this port is underway now. This release
was made before verifying this port in order to get the important
bugfix in place.
* Other miscellaneous bugfix and enhancements as noted in the ChangeLog.