summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandre <andre@FreeBSD.org>2012-12-10 12:19:03 +0000
committerandre <andre@FreeBSD.org>2012-12-10 12:19:03 +0000
commit62886c7ac988fa0579b622817b603fd6672da25c (patch)
tree81a9f3f4971e3b8e1f3e33737a3c505695a58ee7
parentf0196dc70a347e934293b9a8c49d66dda7d48672 (diff)
downloadFreeBSD-src-62886c7ac988fa0579b622817b603fd6672da25c.zip
FreeBSD-src-62886c7ac988fa0579b622817b603fd6672da25c.tar.gz
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
-rw-r--r--sys/kern/subr_param.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c
index f8c4fe7..1f4f6b3 100644
--- a/sys/kern/subr_param.c
+++ b/sys/kern/subr_param.c
@@ -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)
OpenPOWER on IntegriCloud