Skip site navigation (1)Skip section navigation (2)
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>