Add code comment about Linux stack randomization and shared memory.
authorBruce Momjian
Wed, 1 Feb 2006 16:00:06 +0000 (16:00 +0000)
committerBruce Momjian
Wed, 1 Feb 2006 16:00:06 +0000 (16:00 +0000)
src/backend/postmaster/postmaster.c

index 78d0471f85d2a84999a28958615abc230c294012..a89be34c09980dc09ef8017ca113a23f2b961129 100644 (file)
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.480 2006/02/01 00:31:59 momjian Exp $
+ *   $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.481 2006/02/01 16:00:06 momjian Exp $
  *
  * NOTES
  *
@@ -3336,7 +3336,18 @@ SubPostmasterMain(int argc, char *argv[])
        /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */
        InitProcess();
 
-       /* Attach process to shared data structures */
+       /*
+        *  Attach process to shared data structures.  If testing
+        *  EXEC_BACKEND on Linux, you must run this as root
+        *  before starting the postmaster:
+        *
+        *      echo 0 >/proc/sys/kernel/randomize_va_space
+        *
+        *  This prevents a randomized stack base address that causes
+        *  child shared memory to be at a different address than
+        *  the parent, making it impossible to attached to shared
+        *  memory.  Return the value to '1' when finished.
+        */
        CreateSharedMemoryAndSemaphores(false, 0);
 
        /* And run the backend */