jerpelea opened a new pull request, #21251: URL: https://github.com/apache/nuttx/pull/21251
## Summary arm64_jump_to_user() built the SPSR of the new task from SPSR_EL1, with the mode bits cleared. SPSR_EL1 holds the state of the last exception on that CPU, for example an SVC of a context switch from a critical section, with IRQs masked. The new task then ran in EL0 with IRQs masked. Its system calls kept that state, and so did the children it created with fork(). The CPU took no interrupt while the task ran: a device interrupt routed to that CPU stayed pending, and the threads that waited for it never woke up. Set EL0t, with FIQ masked unless CONFIG_ARM64_DECODEFIQ, as up_initial_state() does for the kernel threads. ## Impact RELEASE ## Testing CI -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
