PaX, PowerPC and illegal instructions
Posted: Thu Dec 09, 2010 5:07 am
Hey all,
I'm (still) trying to get PaX to work properly on an ancient ppc_6xx processor, which has no NX bit. PaX Team told me PaX uses the guarded bit to emulate the NX, but apparantly it isn't working at all...
When I run PaX Test, it reports "Killed" on most tests (like executable stack), but by inserting printks into the kernel's exception handlers I can see that it does NOT die from a protection fault in the page fault handler, but due to an "Illegal Instruction" exception.
Also, I've written a simple run-code-from-stack program that's very similar to execstack.c but doesn't use all the fancy infrastructure (copy_shellcode, itworked). This program succesfully runs code from the stack - so PaX clearly isn't working. I've tried both compiling with EI_FLAGS and with PT_FLAGS and using paxctl, so it's not that.
I've also tried debugging to find out what's going on, but PaX makes gdb not work on my platform (gdb complains it has I/O errors while placing breakpoints).
Any help would be welcome...
I'm (still) trying to get PaX to work properly on an ancient ppc_6xx processor, which has no NX bit. PaX Team told me PaX uses the guarded bit to emulate the NX, but apparantly it isn't working at all...
When I run PaX Test, it reports "Killed" on most tests (like executable stack), but by inserting printks into the kernel's exception handlers I can see that it does NOT die from a protection fault in the page fault handler, but due to an "Illegal Instruction" exception.
Also, I've written a simple run-code-from-stack program that's very similar to execstack.c but doesn't use all the fancy infrastructure (copy_shellcode, itworked). This program succesfully runs code from the stack - so PaX clearly isn't working. I've tried both compiling with EI_FLAGS and with PT_FLAGS and using paxctl, so it's not that.
I've also tried debugging to find out what's going on, but PaX makes gdb not work on my platform (gdb complains it has I/O errors while placing breakpoints).
Any help would be welcome...