Problem with SIGILL: EPERM

Ted Lindgreen ted at sanne.nlnetlabs.nl
Wed Jul 21 06:44:38 PDT 2004


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


More information about the freebsd-current mailing list