Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Dec 2010 05:47:35 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r216425 - head/sys/vm
Message-ID:  <201012140547.oBE5lZ4K005038@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: alc
Date: Tue Dec 14 05:47:35 2010
New Revision: 216425
URL: http://svn.freebsd.org/changeset/base/216425

Log:
  Change memguard_fudge() so that it can handle km_max being zero.  Not
  every platform defines VM_KMEM_SIZE_MAX, and on those platforms km_max
  will be zero.
  
  Reviewed by:	mdf
  Tested by:	marius

Modified:
  head/sys/vm/memguard.c

Modified: head/sys/vm/memguard.c
==============================================================================
--- head/sys/vm/memguard.c	Tue Dec 14 01:28:33 2010	(r216424)
+++ head/sys/vm/memguard.c	Tue Dec 14 05:47:35 2010	(r216425)
@@ -184,9 +184,10 @@ memguard_fudge(unsigned long km_size, un
 	memguard_mapsize = km_max / vm_memguard_divisor;
 	/* size must be multiple of PAGE_SIZE */
 	memguard_mapsize = round_page(memguard_mapsize);
-	if (memguard_mapsize / (2 * PAGE_SIZE) > mem_pgs)
+	if (memguard_mapsize == 0 ||
+	    memguard_mapsize / (2 * PAGE_SIZE) > mem_pgs)
 		memguard_mapsize = mem_pgs * 2 * PAGE_SIZE;
-	if (km_size + memguard_mapsize > km_max)
+	if (km_max > 0 && km_size + memguard_mapsize > km_max)
 		return (km_max);
 	return (km_size + memguard_mapsize);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201012140547.oBE5lZ4K005038>