Date: Mon, 14 Dec 1998 15:39:37 -0800 (PST) From: marcel@scc.nl To: freebsd-gnats-submit@FreeBSD.ORG Subject: i386/9082: linux emulator: linux_kill syscall: EINVAL on signal 0 Message-ID: <199812142339.PAA01250@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 9082
>Category: i386
>Synopsis: linux emulator: linux_kill syscall: EINVAL on signal 0
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Dec 14 15:40:00 PST 1998
>Last-Modified:
>Originator: Marcel Moolenaar
>Organization:
SCC vof
>Release: -current
>Environment:
FreeBSD scones.sup.scc.nl 3.0-CURRENT FreeBSD 3.0-CURRENT #6: Mon Dec 14 22:52:55 CET 1998 marcel@scones.sup.scc.nl:/usr/src/sys/compile/SCONES i386
>Description:
kill(pid, 0) normally returns 0 on both FreeBSD and Redhat after having
performed all sorts of sanity checks. The FreeBSD linux emulator returns
EINVAL in such a case.
Allowing signal 0 to be passed to kill will result in compatible behaviour.
>How-To-Repeat:
n/a
>Fix:
--- linux_signal.c.orig Tue Dec 15 00:36:31 1998
+++ linux_signal.c Tue Dec 15 00:36:14 1998
@@ -310,7 +310,7 @@
printf("Linux-emul(%d): kill(%d, %d)\n",
p->p_pid, args->pid, args->signum);
#endif
- if (args->signum <= 0 || args->signum >= LINUX_NSIG)
+ if (args->signum < 0 || args->signum >= LINUX_NSIG)
return EINVAL;
tmp.pid = args->pid;
tmp.signum = linux_to_bsd_signal[args->signum];
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812142339.PAA01250>
