Mercurial > hg > graal-jvmci-8
diff src/os_cpu/linux_x86/vm/os_linux_x86.cpp @ 8710:9058789475af
7107135: Stack guard pages are no more protected after loading a shared library with executable stack
Summary: Detect the execstack attribute of the loaded library and attempt to fix the stack guard using Safepoint op.
Reviewed-by: dholmes, zgu
Contributed-by: ioi.lam@oracle.com
author | iklam |
---|---|
date | Tue, 05 Mar 2013 13:55:56 -0800 |
parents | 12285410684f |
children | 9ef47379df20 |
line wrap: on
line diff
--- a/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Tue Mar 05 08:50:59 2013 +0100 +++ b/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Tue Mar 05 13:55:56 2013 -0800 @@ -305,6 +305,11 @@ // to handle_unexpected_exception way down below. thread->disable_stack_red_zone(); tty->print_raw_cr("An irrecoverable stack overflow has occurred."); + + // This is a likely cause, but hard to verify. Let's just print + // it as a hint. + tty->print_raw_cr("Please check if any of your loaded .so files has " + "enabled executable stack (see man page execstack(8))"); } else { // Accessing stack address below sp may cause SEGV if current // thread has MAP_GROWSDOWN stack. This should only happen when