diff options
author | Mark Johnston <markj@FreeBSD.org> | 2025-03-31 01:22:14 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2025-03-31 09:01:09 +0000 |
commit | a6268f89d58c1962d2372a664a35eaecbf367fbb (patch) | |
tree | b4641cd93f769f83400754c61afd28be4527c005 /usr.sbin/edquota/(public-mirror) | |
parent | fe7fe3b175b626dd1402cd06745b1e3f070c3edd (diff) |
proc: Disallow re-enabling of process itimers during exit
During process exit, it's possible for the exiting thread to send a
signal to its process, via killjobc(). This happens after the itimer is
drained. If itimers are stopped, i.e., P2_ITSTOPPED is set, then
itimer_proc_continue() will resume the callout after it has been
drained.
Fix the problem by simply clearing P2_ITSTOPPED as part of the drain.
Then, a signal received after that point will not re-enable the callout.
For good measure, also make sure that we don't reset the itimer callout
in an exiting process.
Reported by: syzkaller
Reviewed by: kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D49529
Diffstat (limited to 'usr.sbin/edquota/(public-mirror)')
0 files changed, 0 insertions, 0 deletions