Diskless /libexec/ld-elf.so.1: Cannot execute objects on /

Mike Andrews mandrews at bit0.com
Fri Dec 16 11:25:38 PST 2005


On Fri, 16 Dec 2005, Paulo Fragoso wrote:

> 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?


We had the same problem with our netboot cluster, and going from 
RELENG_5_4 (5.4-RELEASE) up to RELENG_5 (5-STABLE) fixed it.



Mike Andrews  *  mandrews at bit0.com  *  http://www.bit0.com
It's not news, it's Fark.com.                  Carpe cavy!


More information about the freebsd-stable mailing list