Skip to content

preempt_sched: use sa_sigaction for SA_SIGINFO#27

Open
Charlie-Tsai1123 wants to merge 1 commit into
sysprog21:masterfrom
Charlie-Tsai1123:fix-sigaction-handler
Open

preempt_sched: use sa_sigaction for SA_SIGINFO#27
Charlie-Tsai1123 wants to merge 1 commit into
sysprog21:masterfrom
Charlie-Tsai1123:fix-sigaction-handler

Conversation

@Charlie-Tsai1123

@Charlie-Tsai1123 Charlie-Tsai1123 commented Jul 6, 2026

Copy link
Copy Markdown

According to sigaction(2), when SA_SIGINFO is specified in sa_flags, the signal handler should be sa_sigaction instead of sa_handler.

timer_handler() uses the three-argument signal handler form, but the current code registers it through sa_handler by casting it to a one-argument handler type. Use sa_sigaction to match the documented API and avoid casting between incompatible function pointer types.

Reference:
https://man7.org/linux/man-pages/man2/sigaction.2.html

If SA_SIGINFO is specified in sa_flags, then sa_sigaction (instead of sa_handler) specifies the signal-handling function for signum. This function receives three arguments, as described below.


Summary by cubic

Use sa_sigaction for the timer signal when SA_SIGINFO is set, so the 3-arg handler is registered correctly. Also switch timer_handler’s third parameter to void* and remove the function-pointer cast, aligning with sigaction(2) and preventing undefined behavior.

Written for commit 4f9eae6. Summary will update on new commits.

Review in cubic

According to sigaction(2), when SA_SIGINFO is specified in sa_flags,
the signal handler should be sa_sigaction instead of sa_handler.

timer_handler() uses the three-argument signal handler form, but the
current code registers it through sa_handler by casting it to a
one-argument handler type. Use sa_sigaction to match the documented API
and avoid casting between incompatible function pointer types.

Reference:
https://man7.org/linux/man-pages/man2/sigaction.2.html

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Re-trigger cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant