Problem with SIGILL: EPERM

From: Ted Lindgreen <ted_at_sanne.nlnetlabs.nl>
Date: Wed, 21 Jul 2004 15:44:24 +0200 (CEST)
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
Received on Wed Jul 21 2004 - 11:44:38 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:02 UTC