Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jan 2012 11:37:05 -0500
From:      Adam McDougall <mcdouga9@egr.msu.edu>
To:        freebsd-bugs@freebsd.org
Subject:   Re: kern/162741: commit references a PR
Message-ID:  <4F145231.5040009@egr.msu.edu>
In-Reply-To: <201112070710.pB77AAhs028194@freefall.freebsd.org>
References:  <201112070710.pB77AAhs028194@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@FreeBSD.ORG (dfilter service)
> To: bug-followup@FreeBSD.org
> Cc:
> 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
>
>   Log:
>     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
>
>   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? 
  Thanks!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F145231.5040009>