Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Jul 2004 15:44:24 +0200 (CEST)
From:      Ted Lindgreen <ted@sanne.nlnetlabs.nl>
To:        freebsd-current@freebsd.org
Subject:   Problem with SIGILL: EPERM
Message-ID:  <200407211344.i6LDiO9k028082@sanne.nlnetlabs.nl>

next in thread | raw e-mail | index | archive | help
Hello,

With NSD on FreeBSD 5.2-CURRENT, we found that a SIGILL signal,
send from a parent to its own child, under certain circumstances
incorrectly triggers an EPERM error.

This happens when the parent process is initiated by root (to open
the priviledged port 53)), and then go through the setgid, setsid,
etc. procedure to become a detached process, owned by an unpriviledged
user, and then fork a child.

The problem is reproducable on FreeBSD 5.2-CURRENT and MacOS X 10.3.4,
but only for SIGILL. For instance, SIGTERM or SIGHUP are handled
correctly.

The problem does NOT occur with FreeBSD 4.10-STABLE, and also not
with various Linux flavors, where all signals are handled the same.

Is there some deliberate (but undocumented) special processing with
SIGILL in FreeBSD 5.2-CURRENT, or is this a kernel bug?

Regards,
-- ted



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407211344.i6LDiO9k028082>