]> granicus.if.org Git - postgresql/commitdiff
Add code comment about Linux stack randomization and shared memory.
authorBruce Momjian <bruce@momjian.us>
Wed, 1 Feb 2006 16:00:06 +0000 (16:00 +0000)
committerBruce Momjian <bruce@momjian.us>
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 */