On Tue, Jul 26, 2005 at 01:11:04PM -0700, Jonathan Adams wrote:
> 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

And closed it.  VVMEXEC is only used for statistics; it has no effect on
anything else (in Solaris 8 and prior, it was part of Priority Paging, if
that was enabled)

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