On Tue, Jul 26, 2005 at 11:34:09AM -0700, Jonathan Adams wrote:
> 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)

I've filed

6302117 /lib/ld.so.1 never gets marked as VVMEXEC

to cover this.

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