royzah opened a new pull request, #20978: URL: https://github.com/apache/nuttx/pull/20978
## Summary Follow up on https://github.com/apache/nuttx/pull/20424#discussion_r4164661017. The remaining registration paths can store invalid signal numbers or foreign SIGEV_THREAD_ID targets. Call nxsig_event_valid() in the caller's context, before storing events, replacing alarms, binding callbacks or queuing AIO. Covers joysticks, RTC, oneshot/general/capture timers, zero-cross, FT80x, automount, message queues, AIO, IEEE 802.15.4 and legacy ESP32-C3 Wi-Fi. Existing style cleanup is a separate commit. No outstanding PR dependency or companion nuttx-apps change. ## Impact Invalid events fail with EINVAL at registration. Valid caller/sibling targets, SIGEV_NONE, unsubscribe and LIO_WAIT behavior are preserved. No ABI changes. Separate PID fields, user-pointer access and delivery-time checks are outside this change. ## Testing Ubuntu 26.04.1 x86_64, GCC 15.2.0, sim:ostest with a temporary test entrypoint, mock lower halves and additional driver configs. Apps revision: b89cb4160afecd8fbff863a7afe923cf7ef21b95. Commands: make olddefconfig; make clean; make -j8; timeout 45 ./nuttx. The simulator setup skips its X11 joystick and physical LCD bring-up calls. These setup changes are not part of the commits. Before (a40089b95b): SIGEVENT: 157 checks, 79 failures After: SIGEVENT: 153 checks, 0 failures The baseline has four additional completion checks because it incorrectly queues the four rejected lio_listio batches. The same harness is used for both. Runtime coverage: analog/discrete joystick, general/oneshot timer, all three RTC alarm registration commands, mq_notify, aio_read/write/fsync and lio_listio. Checks invalid signums, missing/foreign threads, caller/sibling threads, SIGEV_NONE, unsubscribe, and absence of lower-half side effects on rejection. The extended build also compiles capture, zero-cross, FT80x, automount and all three IEEE 802.15.4 paths. All 17 generic changed files compile. The legacy ESP32-C3 adapter has not been built or run. Physical hardware and protected/kernel runtime tests are still needed. Whole-file checkpatch and checkpatch over both commits pass. Build warnings also reproduce on the baseline. -- 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]
