svn commit: r206647 - stable/8/crypto/openssh

Konstantin Belousov kib at FreeBSD.org
Thu Apr 15 08:20:58 UTC 2010


Author: kib
Date: Thu Apr 15 08:20:57 2010
New Revision: 206647
URL: http://svn.freebsd.org/changeset/base/206647

Log:
  MFC r206397:
  Enhance r199804 by marking the daemonised child as immune to OOM instead
  of short-living parent. Only mark the master process that accepts
  connections, do not protect connection handlers spawned from inetd.

Modified:
  stable/8/crypto/openssh/sshd.c
Directory Properties:
  stable/8/crypto/openssh/   (props changed)

Modified: stable/8/crypto/openssh/sshd.c
==============================================================================
--- stable/8/crypto/openssh/sshd.c	Thu Apr 15 08:17:28 2010	(r206646)
+++ stable/8/crypto/openssh/sshd.c	Thu Apr 15 08:20:57 2010	(r206647)
@@ -1293,10 +1293,6 @@ main(int ac, char **av)
 	/* Initialize configuration options to their default values. */
 	initialize_server_options(&options);
 
-	/* Avoid killing the process in high-pressure swapping environments. */
-	if (madvise(NULL, 0, MADV_PROTECT) != 0)
-		debug("madvise(): %.200s", strerror(errno));
-
 	/* Parse command-line arguments. */
 	while ((opt = getopt(ac, av, "f:p:b:k:h:g:u:o:C:dDeiqrtQRT46")) != -1) {
 		switch (opt) {
@@ -1663,6 +1659,10 @@ main(int ac, char **av)
 	/* Reinitialize the log (because of the fork above). */
 	log_init(__progname, options.log_level, options.log_facility, log_stderr);
 
+	/* Avoid killing the process in high-pressure swapping environments. */
+	if (!inetd_flag && madvise(NULL, 0, MADV_PROTECT) != 0)
+		debug("madvise(): %.200s", strerror(errno));
+
 	/* Initialize the random number generator. */
 	arc4random_stir();
 


More information about the svn-src-stable mailing list