summaryrefslogtreecommitdiffstats
path: root/sys/mips
diff options
context:
space:
mode:
authorrstone <rstone@FreeBSD.org>2015-09-17 23:31:44 +0000
committerrstone <rstone@FreeBSD.org>2015-09-17 23:31:44 +0000
commit26a0cf375aceedb2911b79b762cbc4f28510040a (patch)
tree0e2ce9e28f39248b1d87c63f4962c025c0735e6e /sys/mips
parenta5578a13a31cb57fe230f49fe8e7f959295992cd (diff)
downloadFreeBSD-src-26a0cf375aceedb2911b79b762cbc4f28510040a.zip
FreeBSD-src-26a0cf375aceedb2911b79b762cbc4f28510040a.tar.gz
MFC r280957
Fix integer truncation bug in malloc(9) A couple of internal functions used by malloc(9) and uma truncated a size_t down to an int. This could cause any number of issues (e.g. indefinite sleeps, memory corruption) if any kernel subsystem tried to allocate 2GB or more through malloc. zfs would attempt such an allocation when run on a system with 2TB or more of RAM.
Diffstat (limited to 'sys/mips')
-rw-r--r--sys/mips/mips/uma_machdep.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/mips/mips/uma_machdep.c b/sys/mips/mips/uma_machdep.c
index 1c8e6c8..a1f5e5f 100644
--- a/sys/mips/mips/uma_machdep.c
+++ b/sys/mips/mips/uma_machdep.c
@@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$");
#include <machine/vmparam.h>
void *
-uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait)
+uma_small_alloc(uma_zone_t zone, vm_size_t bytes, u_int8_t *flags, int wait)
{
vm_paddr_t pa;
vm_page_t m;
@@ -70,7 +70,7 @@ uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait)
}
void
-uma_small_free(void *mem, int size, u_int8_t flags)
+uma_small_free(void *mem, vm_size_t size, u_int8_t flags)
{
vm_page_t m;
vm_paddr_t pa;
OpenPOWER on IntegriCloud