kern/162741: commit references a PR
mcdouga9 at egr.msu.edu
Mon Jan 16 16:53:05 UTC 2012
On 12/07/11 02:10, dfilter service wrote:
> The following reply was made to PR kern/162741; it has been noted by GNATS.
> From: dfilter at FreeBSD.ORG (dfilter service)
> To: bug-followup at FreeBSD.org
> Subject: Re: kern/162741: commit references a PR
> Date: Wed, 7 Dec 2011 07:03:23 +0000 (UTC)
> Author: alc
> Date: Wed Dec 7 07:03:14 2011
> New Revision: 228317
> URL: http://svn.freebsd.org/changeset/base/228317
> Eliminate the possibility of 32-bit arithmetic overflow in the calculation
> of vm_kmem_size that may occur if the system administrator has specified a
> vm.vm_kmem_size tunable value that exceeds the hard cap.
> PR: 162741
> Submitted by: Adam McDougall
> Reviewed by: bde@
> MFC after: 3 weeks
> Modified: head/sys/kern/kern_malloc.c
> --- head/sys/kern/kern_malloc.c Wed Dec 7 00:22:34 2011 (r228316)
> +++ head/sys/kern/kern_malloc.c Wed Dec 7 07:03:14 2011 (r228317)
> @@ -740,11 +740,11 @@ kmeminit(void *dummy)
> * Limit kmem virtual size to twice the physical memory.
> * This allows for kmem map sparseness, but limits the size
> - * to something sane. Be careful to not overflow the 32bit
> - * ints while doing the check.
> + * to something sane. Be careful to not overflow the 32bit
> + * ints while doing the check or the adjustment.
> - if (((vm_kmem_size / 2) / PAGE_SIZE)> cnt.v_page_count)
> - vm_kmem_size = 2 * cnt.v_page_count * PAGE_SIZE;
> + if (vm_kmem_size / 2 / PAGE_SIZE> mem_size)
> + vm_kmem_size = 2 * mem_size * PAGE_SIZE;
> #ifdef DEBUG_MEMGUARD
> tmp = memguard_fudge(vm_kmem_size, vm_kmem_size_max);
Since 9.0-RELEASE is out the door now, could this be merged to 8 and 9?
More information about the freebsd-bugs