On Tue, Jul 26, 2005 at 11:18:36AM -0700, J?rgen Keil wrote:
> I'm not 100% sure if it's still important to mark shared libraries
> with the execute bit with current Solaris 10 or OpenSolaris.  It
> seems the kernel is now using a vnode flag VVMEXEC to mark executable
> content, and this flag appears to be set whenever a file is mapped
> with PROT_EXEC permission.  That is, the executable bit on shared
> libraries does not appear to be used for detecting executable file
> data any more with current Solaris releases.

Note that in Solaris Nevada/OpenSolaris, it is now based on the fact that
ld.so.1 passes MAP_TEXT/MAP_INITDATA when it maps shared object text/data:

http://cvs.opensolaris.org/source/xref/usr/src/uts/common/os/grow.c#829

(the exec() path also sets it for the executed object.  Oddly, ld.so.1 doesn't
get the flag set for it, which seems like a bug;  I'll investigate and file it)

Cheers,
- jonathan

-- 
Jonathan Adams, Solaris Kernel Development
_______________________________________________
opensolaris-code mailing list
[email protected]
https://opensolaris.org:444/mailman/listinfo/opensolaris-code

Reply via email to