From owner-freebsd-stable@FreeBSD.ORG Fri Dec 16 11:02:09 2005 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EB5EE16A41F for ; Fri, 16 Dec 2005 11:02:09 +0000 (GMT) (envelope-from paulo@nlink.com.br) Received: from smtp.nlink.com.br (smtp.nlink.com.br [201.12.59.3]) by mx1.FreeBSD.org (Postfix) with SMTP id DA73543D58 for ; Fri, 16 Dec 2005 11:02:06 +0000 (GMT) (envelope-from paulo@nlink.com.br) Received: (qmail 85605 invoked from network); 16 Dec 2005 11:02:04 -0000 Received: from unknown (HELO ?201.12.59.126?) (paulo@intra.nlink.com.br@201.12.59.126) by smtp.nlink.com.br with SMTP; 16 Dec 2005 11:02:04 -0000 Message-ID: <43A29E8F.8030101@nlink.com.br> Date: Fri, 16 Dec 2005 08:01:35 -0300 From: Paulo Fragoso User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050724) X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-stable@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Diskless /libexec/ld-elf.so.1: Cannot execute objects on / X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Dec 2005 11:02:10 -0000 Hi, After upgrade from FreeBSD 5.3 to FREEBSD_5_4 (cvs), our diskless machines didn't work correctly, many applications using dynamic libraries didn't start, this error was showed: /libexec/ld-elf.so.1: Cannot execute objects on / We found on all diskless machines had MNT_NOEXEC flags set on (fstatfs). After that we have changed rtld.c changed: --- rtld.c.orig Thu Dec 15 17:26:41 2005 +++ rtld.c Thu Dec 15 17:38:15 2005 @@ -1267,7 +1267,7 @@ close(fd); return NULL; } - if (fs.f_flags & MNT_NOEXEC) { + if (fs.f_flags & MNT_NOEXEC && strcmp(fs.f_mntonname,"/") ) { _rtld_error("Cannot execute objects on %s\n", fs.f_mntonname); close(fd); return NULL; Now, all diskless stations works fine. Is there another solution for this case? Thanks, Paulo Fragoso.