Solaris 10 en x86 admite el bit no execute (NX) en los modos de 32 y 64 bits. El bit NX permite implementar completamente las protecciones implicadas al no utilizar PROT_EXEC en las distintas llamadas del sistema de memoria como la función mmap(). Anteriormente en x86, toda la memoria asignada tenía PROT_EXEC definida implícitamente. La compatibilidad de Solaris con bit NX mejora la protección contra virus.
En hardware con capacidad NX, el SO Solaris OS utiliza el bit NX de forma predeterminada siempre que no se especifica PROT_EXEC. Sin embargo, los segmentos de pila utilizan PROT_EXEC de forma predeterminada y no el bit NX. La configuración predeterminada de los segmentos de pila se puede modificar llevando a cabo una de las siguientes acciones:
Defina no_exec_userstack en /etc/system para definir no exec de forma global en todas las pilas de aplicaciones.
Vincule una aplicación individual con el archivo de asignación /usr/lib/ld/map.noexstk .
El administrador del sistema puede deshabilitar todos los usos del bit NX utilizando el comando eeprom para definir enforce-prot-exec en “off”. Esta variable se proporciona como una solución de transición para cualquier sistema con aplicaciones heredadas que no cuenten con PROT_EXEC.