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);
 }
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to