From: GNU Libc Maintainers Date: Wed, 19 Apr 2023 21:17:51 +0000 (+0100) Subject: git-raise X-Git-Tag: archive/raspbian/2.31-13+rpi1+deb11u6^2~79 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7acbfa69b1a4dce2a773eff99336660545f62aa1;p=glibc.git git-raise Committed in 2.32 commit 785ec62dbd37b0b236c9a7fcc0ac71a2aeb472de Author: Samuel Thibault Date: Sun Jun 7 01:35:18 2020 +0200 hurd: Reject raising invalid signals * hurd/hurd-raise.c (_hurd_raise_signal): Return EINVAL if signo <= 0 or signo >= NSI. commit fab94894d5c5b25d24010f823515fb53822d6623 Author: Samuel Thibault Date: Sun Jun 7 01:55:54 2020 +0200 hurd: Fix hang in _hurd_raise_signal from pthread_kill When ss is not NULL, it is assumed to be locked. * hurd/hurd-raise.c (_hurd_raise_signal): Unlock before returning an error if ss is not NULL. Gbp-Pq: Topic hurd-i386 Gbp-Pq: Name git-raise.diff --- diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c index d53fd417d..865e498bf 100644 --- a/hurd/hurd-raise.c +++ b/hurd/hurd-raise.c @@ -28,6 +28,13 @@ int _hurd_raise_signal (struct hurd_sigstate *ss, int signo, const struct hurd_signal_detail *detail) { + if (signo <= 0 || signo >= NSIG) + { + if (ss) + __spin_unlock (&ss->lock); + return EINVAL; + } + if (ss == NULL) { ss = _hurd_self_sigstate ();