From owner-freebsd-current@FreeBSD.ORG Wed Jul 21 13:44:38 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0957116A4CE for ; Wed, 21 Jul 2004 13:44:38 +0000 (GMT) Received: from sanne.nlnetlabs.nl (sanne.nlnetlabs.nl [213.154.224.39]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B77043D5C for ; Wed, 21 Jul 2004 13:44:37 +0000 (GMT) (envelope-from ted@sanne.nlnetlabs.nl) Received: from sanne.nlnetlabs.nl (localhost [127.0.0.1]) by sanne.nlnetlabs.nl (8.12.11/8.12.11) with ESMTP id i6LDiODi028083 for ; Wed, 21 Jul 2004 15:44:25 +0200 (CEST) (envelope-from ted@sanne.nlnetlabs.nl) Received: (from ted@localhost) by sanne.nlnetlabs.nl (8.12.11/8.12.11/Submit) id i6LDiO9k028082 for freebsd-current@freebsd.org; Wed, 21 Jul 2004 15:44:24 +0200 (CEST) (envelope-from ted) Date: Wed, 21 Jul 2004 15:44:24 +0200 (CEST) From: Ted Lindgreen Message-Id: <200407211344.i6LDiO9k028082@sanne.nlnetlabs.nl> To: freebsd-current@freebsd.org X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on sanne.nlnetlabs.nl X-Mailman-Approved-At: Thu, 22 Jul 2004 11:43:57 +0000 Subject: Problem with SIGILL: EPERM X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Jul 2004 13:44:38 -0000 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