jlaitine opened a new pull request, #16806:
URL: https://github.com/apache/nuttx/pull/16806

   
   ## Summary
   
   I just realized that the same issue, which just happened to manifest on me 
on xtensa, is there for other platforms as well.
   
   Even though I haven't experienced crashes on these platforms, I believe that 
it is just pure luck, and this same race
   should be fixed also for these. I boldly made the same correction only based 
on code inspection/review, I don't have a change to really test it on all of 
these architectures.
   
   So, this fixes the same issue for other targets, which was already fixed for 
xtensa in commit 50d94863.
   
   After the signals have been delivered, the local irqs need to be disabled 
until the context switch. But just calling leave_critical_section(regs[xx]) 
will enable them if they were enabled in the context.
   
   ## Impact
   
   Impacts the signal delivery, fixing a possible full system crash in case the 
race condition manifests when restoring the context after the signal delivery.
   
   ## Testing
   
   Tested on qemu: rv-virt:smp64, real HW: MPFS (4 cores), IMX93 (2 cores) 
(both are on custom HW & configuration, unfortunately I don't have public EVK 
boards at hand atm).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to