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
