From 0060bab5562e295b8a5b0364b932d59b7d15f1de Mon Sep 17 00:00:00 2001 From: Andre Oppermann Date: Mon, 10 Dec 2012 12:19:03 +0000 Subject: [PATCH] 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 --- sys/kern/subr_param.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c index f8c4fe718b5..1f4f6b3ee96 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) -- 2.45.2