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]

Reply via email to