Author: andre
Date: Mon Dec 10 12:19:03 2012
New Revision: 244080
URL: http://svnweb.freebsd.org/changeset/base/244080

Log:
  Prevent long type overflow of realmem calculation on ILP32 by forcing
  calculation to be in quad_t space.  Fix style issue with second parameter
  to qmin().
  
  Reported by:  alc
  Reviewed by:  bde, alc

Modified:
  head/sys/kern/subr_param.c

Modified: head/sys/kern/subr_param.c
==============================================================================
--- head/sys/kern/subr_param.c  Mon Dec 10 11:26:18 2012        (r244079)
+++ head/sys/kern/subr_param.c  Mon Dec 10 12:19:03 2012        (r244080)
@@ -332,8 +332,8 @@ init_param2(long physpages)
         * available kernel memory (physical or kmem).
         * At most it can be 3/4 of available kernel memory.
         */
-       realmem = qmin(physpages * PAGE_SIZE,
-                       VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS);
+       realmem = qmin((quad_t)physpages * PAGE_SIZE,
+           VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS);
        maxmbufmem = realmem / 2;
        TUNABLE_QUAD_FETCH("kern.maxmbufmem", &maxmbufmem);
        if (maxmbufmem > (realmem / 4) * 3)
_______________________________________________
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