< prev index next >

src/os/linux/vm/os_linux.cpp

Print this page
@  rev 12744 : [mq]: paxcheck.01
|
o  rev 12743 : [mq]: paxcheck
|

@@ -4751,11 +4751,11 @@
     vm_exit_out_of_memory(size, OOM_MMAP_ERROR, "failed to allocate memory for PaX check.");
   }
 
   int res = ::mprotect(p, size, PROT_WRITE|PROT_EXEC);
   if (res == -1) {
-    vm_exit_during_initialization("failed to mark memory page as executable",
+    vm_exit_during_initialization("Failed to mark memory page as executable",
                                   "Please check if grsecurity/PaX is enabled in your kernel.\n"
                                   "\n"
                                   "For example, you can do this by running (note: you may need root privileges):\n"
                                   "\n"
                                   "    sysctl kernel.pax.softmode\n"

@@ -4768,11 +4768,18 @@
                                   "\n"
                                   "PaX includes security functionality which interferes with the dynamic code\n"
                                   "generation the JVM relies on. Specifically, the MPROTECT functionality as\n"
                                   "described on https://pax.grsecurity.net/docs/mprotect.txt is not compatible\n"
                                   "with the JVM. If you want to allow the JVM to run you will have to disable PaX.\n"
-                                  "You can do this on a per-executable basis using the paxctl tool.\n");
+                                  "You can do this on a per-executable basis using the paxctl tool, for example:\n"
+                                  "\n"
+                                  "    paxctl -cm bin/java\n"
+                                  "\n"
+                                  "Please note that this modifies the executable binary in-place, so may want\n"
+                                  "to make a backup of it first. Also note that you have to repeat this for other\n"
+                                  "executables like javac, jar, jcmd, etc.\n"
+                                  );
 
   }
 
   ::munmap(p, size);
 #endif
< prev index next >