svn commit: r230421 - stable/9/sys/i386/include
Alan Cox
alc at FreeBSD.org
Sat Jan 21 08:26:42 UTC 2012
Author: alc
Date: Sat Jan 21 08:26:41 2012
New Revision: 230421
URL: http://svn.freebsd.org/changeset/base/230421
Log:
MFC r228398
Avoid the possibility of integer overflow in the calculation of
VM_KMEM_SIZE_MAX. Specifically, if the user/kernel address space split
was changed such that the kernel address space was greater than or equal
to 2 GB, then overflow would occur.
PR: 161721
Modified:
stable/9/sys/i386/include/vmparam.h
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/amd64/include/xen/ (props changed)
stable/9/sys/boot/ (props changed)
stable/9/sys/boot/i386/efi/ (props changed)
stable/9/sys/boot/ia64/efi/ (props changed)
stable/9/sys/boot/ia64/ski/ (props changed)
stable/9/sys/boot/powerpc/boot1.chrp/ (props changed)
stable/9/sys/boot/powerpc/ofw/ (props changed)
stable/9/sys/cddl/contrib/opensolaris/ (props changed)
stable/9/sys/conf/ (props changed)
stable/9/sys/contrib/dev/acpica/ (props changed)
stable/9/sys/contrib/octeon-sdk/ (props changed)
stable/9/sys/contrib/pf/ (props changed)
stable/9/sys/contrib/x86emu/ (props changed)
Modified: stable/9/sys/i386/include/vmparam.h
==============================================================================
--- stable/9/sys/i386/include/vmparam.h Sat Jan 21 07:57:27 2012 (r230420)
+++ stable/9/sys/i386/include/vmparam.h Sat Jan 21 08:26:41 2012 (r230421)
@@ -186,11 +186,12 @@
#endif
/*
- * Ceiling on amount of kmem_map kva space.
+ * Ceiling on the amount of kmem_map KVA space: 40% of the entire KVA space
+ * rounded to the nearest multiple of the superpage size.
*/
#ifndef VM_KMEM_SIZE_MAX
-#define VM_KMEM_SIZE_MAX ((VM_MAX_KERNEL_ADDRESS - \
- VM_MIN_KERNEL_ADDRESS) * 2 / 5)
+#define VM_KMEM_SIZE_MAX (((((VM_MAX_KERNEL_ADDRESS - \
+ VM_MIN_KERNEL_ADDRESS) >> (PDRSHIFT - 2)) + 5) / 10) << PDRSHIFT)
#endif
/* initial pagein size of beginning of executable file */
More information about the svn-src-stable-9
mailing list