Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Dec 2005 08:01:35 -0300
From:      Paulo Fragoso <paulo@nlink.com.br>
To:        freebsd-stable@freebsd.org
Subject:   Diskless /libexec/ld-elf.so.1: Cannot execute objects on /
Message-ID:  <43A29E8F.8030101@nlink.com.br>

next in thread | raw e-mail | index | archive | help
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.




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