Le 01/08/2016 à 04:02, Stephen Powell a écrit :
On Sun, Jul 31, 2016, at 19:07, Pascal Hambourg wrote:PAE allows to use the NX/XD bit on CPU which support it to prevent execution of data memory areas.To the best of my knowledge, there are no 32-bit-only processors which support the NX bit. A 32-bit PAE-enabled kernel can only use NX if it is running on a 64-bit-capable processor.
You should check your information. A number of late 32-bit Pentium 4 and Pentium M models support the NX bit.
To give a specific example, my IBM ThinkPad X31 has a Pentium M processor, which is PAE capable and 32 bit only (...) And the PAE kernel can't exploit the NX bit, because the processor doesn't support it.
This is really surprising because, according to <https://en.wikipedia.org/wiki/Pentium_M>, Pentium M models which support PAE also support the NX bit. Actually, PAE support was added just to support the NX bit, the physical address size is still 32 bits.
Checking on my own ThinkPad T43 with a Pentium M : $ cat /proc/cpuinfo model name : Intel(R) Pentium(R) M processor 1.86GHzflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up bts est tm2
$ dmesg | grep NX [ 0.000000] NX (Execute Disable) protection: active