* [PATCH] hurd: '_hurd_raise_signal' checks signal number is valid [not found] <20201013135744.mpizainhz43e5vkl@function> @ 2020-10-13 21:16 ` Ludovic Courtès 2020-10-13 21:20 ` Jessica Clarke 2020-10-14 10:54 ` Andreas Schwab 0 siblings, 2 replies; 5+ messages in thread From: Ludovic Courtès @ 2020-10-13 21:16 UTC (permalink / raw) To: libc-alpha Cc: bug-hurd, Samuel Thibault, Jan Nieuwenhuizen, Ludovic Courtès Previously, 'pthread_kill (pthread_self (), -1)' would wrongfully succeed: https://lists.gnu.org/archive/html/guix-devel/2020-10/msg00152.html Reported-by: Jan Nieuwenhuizen <janneke@gnu.org> --- hurd/hurd-raise.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c index d53fd417d2..58b4ffcc83 100644 --- a/hurd/hurd-raise.c +++ b/hurd/hurd-raise.c @@ -28,6 +28,9 @@ int _hurd_raise_signal (struct hurd_sigstate *ss, int signo, const struct hurd_signal_detail *detail) { + if (signo < 1 || signo >= _NSIG) + return EINVAL; + if (ss == NULL) { ss = _hurd_self_sigstate (); -- 2.28.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] hurd: '_hurd_raise_signal' checks signal number is valid 2020-10-13 21:16 ` [PATCH] hurd: '_hurd_raise_signal' checks signal number is valid Ludovic Courtès @ 2020-10-13 21:20 ` Jessica Clarke 2020-10-14 10:43 ` Samuel Thibault 2020-10-14 10:54 ` Andreas Schwab 1 sibling, 1 reply; 5+ messages in thread From: Jessica Clarke @ 2020-10-13 21:20 UTC (permalink / raw) To: Ludovic Courtès Cc: libc-alpha, bug-hurd, Samuel Thibault, Jan Nieuwenhuizen On 13 Oct 2020, at 22:16, Ludovic Courtès <ludo@gnu.org> wrote: > > Previously, 'pthread_kill (pthread_self (), -1)' would wrongfully > succeed: > > https://lists.gnu.org/archive/html/guix-devel/2020-10/msg00152.html > > Reported-by: Jan Nieuwenhuizen <janneke@gnu.org> > --- > hurd/hurd-raise.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c > index d53fd417d2..58b4ffcc83 100644 > --- a/hurd/hurd-raise.c > +++ b/hurd/hurd-raise.c > @@ -28,6 +28,9 @@ int > _hurd_raise_signal (struct hurd_sigstate *ss, > int signo, const struct hurd_signal_detail *detail) > { > + if (signo < 1 || signo >= _NSIG) > + return EINVAL; > + From pthread_kill(3): If sig is 0, then no signal is sent, but error checking is still performed. I interpret that as meaning it validates thread but ignores sig. Jess ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] hurd: '_hurd_raise_signal' checks signal number is valid 2020-10-13 21:20 ` Jessica Clarke @ 2020-10-14 10:43 ` Samuel Thibault 0 siblings, 0 replies; 5+ messages in thread From: Samuel Thibault @ 2020-10-14 10:43 UTC (permalink / raw) To: Jessica Clarke Cc: Ludovic Courtès, libc-alpha, bug-hurd, Jan Nieuwenhuizen Hello, Jessica Clarke, le mar. 13 oct. 2020 22:20:15 +0100, a ecrit: > On 13 Oct 2020, at 22:16, Ludovic Courtès <ludo@gnu.org> wrote: > > Previously, 'pthread_kill (pthread_self (), -1)' would wrongfully > > succeed: > > > > https://lists.gnu.org/archive/html/guix-devel/2020-10/msg00152.html > > --- a/hurd/hurd-raise.c > > +++ b/hurd/hurd-raise.c > > @@ -28,6 +28,9 @@ int > > _hurd_raise_signal (struct hurd_sigstate *ss, > > int signo, const struct hurd_signal_detail *detail) > > { > > + if (signo < 1 || signo >= _NSIG) > > + return EINVAL; > > + > > From pthread_kill(3): > > If sig is 0, then no signal is sent, but error checking is still performed. > > I interpret that as meaning it validates thread but ignores sig. __pthread_kill actually already check for sig == 0, _hurd_raise_signal is really not supposed to be called with sig == 0. But thanks for making sure we don't miss that case :) Samuel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] hurd: '_hurd_raise_signal' checks signal number is valid 2020-10-13 21:16 ` [PATCH] hurd: '_hurd_raise_signal' checks signal number is valid Ludovic Courtès 2020-10-13 21:20 ` Jessica Clarke @ 2020-10-14 10:54 ` Andreas Schwab 2020-10-14 16:55 ` Ludovic Courtès 1 sibling, 1 reply; 5+ messages in thread From: Andreas Schwab @ 2020-10-14 10:54 UTC (permalink / raw) To: Ludovic Courtès via Libc-alpha Cc: Ludovic Courtès, bug-hurd, Samuel Thibault https://sourceware.org/git/?p=glibc.git;a=commit;h=785ec62dbd Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] hurd: '_hurd_raise_signal' checks signal number is valid 2020-10-14 10:54 ` Andreas Schwab @ 2020-10-14 16:55 ` Ludovic Courtès 0 siblings, 0 replies; 5+ messages in thread From: Ludovic Courtès @ 2020-10-14 16:55 UTC (permalink / raw) To: Andreas Schwab Cc: Ludovic Courtès via Libc-alpha, bug-hurd, Samuel Thibault Andreas Schwab <schwab@linux-m68k.org> skribis: > https://sourceware.org/git/?p=glibc.git;a=commit;h=785ec62dbd Thanks, I guess I was looking at a stale checkout, apologies! Ludo’. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-10-14 16:55 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20201013135744.mpizainhz43e5vkl@function> 2020-10-13 21:16 ` [PATCH] hurd: '_hurd_raise_signal' checks signal number is valid Ludovic Courtès 2020-10-13 21:20 ` Jessica Clarke 2020-10-14 10:43 ` Samuel Thibault 2020-10-14 10:54 ` Andreas Schwab 2020-10-14 16:55 ` Ludovic Courtès
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).