diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2026-05-25 15:12:57 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2026-06-09 19:15:24 +0000 |
| commit | afa0c67a1ba368a98600d4f059190b1d2dc9fff3 (patch) | |
| tree | 78b3c468f9ee23d6caaacc8fdeb0566485f312b4 | |
| parent | 6952ad819d6a7c259ae1f0bd2646a35e4263f0d9 (diff) | |
thr_kill2: Respect p_cansignal()
Approved by: so
Security: FreeBSD-SA-26:25.thr
Security: CVE-2026-45256
Reported by: Igor Gabriel Sousa e Souza
Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai
Reviewed by: emaste, kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57237
| -rw-r--r-- | sys/kern/kern_thr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c index 4329959a2ef4..4a439eee0210 100644 --- a/sys/kern/kern_thr.c +++ b/sys/kern/kern_thr.c @@ -506,7 +506,7 @@ sys_thr_kill2(struct thread *td, struct thr_kill2_args *uap) p = ttd->td_proc; AUDIT_ARG_PROCESS(p); error = p_cansignal(td, p, uap->sig); - if (uap->sig == 0) + if (error != 0 || uap->sig == 0) ; else if (!_SIG_VALID(uap->sig)) error = EINVAL; |
