kern/162741: commit references a PR

dfilter service dfilter at FreeBSD.ORG
Wed Dec 7 07:10:11 UTC 2011


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
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);
 _______________________________________________
 svn-src-all at freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
 


More information about the freebsd-bugs mailing list