PaX Team wrote:grsec itself probably doesn't need any arch specific support code (unless there's something special to care about in /proc and similar),
Excellent, I presume that.
PaX Team wrote:however most features in PaX are quite arch specific. some time ago i enabled ASLR support on both ARM and MIPS, but i don't know if they work as intended, so you can start by testing them
.
I test for MIPS32 which seems more promising in the PAX patch than ARM, I'm pretty sure many more options in the Security section should be present when configuring the kernel as per reviewing the patch but for some reason just PAX_MEMORY_SANITIZE shows, then the compiling dies early at:
CC arch/mips/kernel/process.o
arch/mips/kernel/process.c:472: error: expected identifier or '(' before 'unsigned'
PaX Team wrote:for non-exec pages support, it's a mixed bag. many of these CPUs don't have any capability for non-exec support, not even a split TLB to play with, so i'm afraid they'll be never supported. some variants however do have some or complete NX support (e.g., ARM v6 or MIPS 4KS with XI/RI), but since i lack hw access, i couldn't really develop anything so far. i know that there's interest to put at least the MIPS XI support into linux, but i have no idea where ARM v6 support stands.
I don't know if latest QEMU is an initial option for the lack of hardware access but it's latest versions supports some ARM variants (including v6) and MIPS. The problem with small devices is that normally there's no room for toolchains and the change of kernels normally requires flashing the device. That why QEMU is invaluable because you can create big virtual disks, install something sane (like Debian) and test there. Anyway my dirty'n cheap home devices are ready for the flashing.