Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_malloc.c
Show First 20 Lines • Show All 640 Lines • ▼ Show 20 Lines | #endif | ||||
malloc_type_allocated(mtp, va == NULL ? 0 : size); | malloc_type_allocated(mtp, va == NULL ? 0 : size); | ||||
} | } | ||||
if (flags & M_WAITOK) | if (flags & M_WAITOK) | ||||
KASSERT(va != NULL, ("malloc(M_WAITOK) returned NULL")); | KASSERT(va != NULL, ("malloc(M_WAITOK) returned NULL")); | ||||
else if (va == NULL) | else if (va == NULL) | ||||
t_malloc_fail = time_uptime; | t_malloc_fail = time_uptime; | ||||
#ifdef DEBUG_REDZONE | #ifdef DEBUG_REDZONE | ||||
if (va != NULL) | if (va != NULL) | ||||
va = redzone_setup(va, osize); | va = redzone_setup(va, osize, mtp); | ||||
#endif | #endif | ||||
return ((void *) va); | return ((void *) va); | ||||
} | } | ||||
static void * | static void * | ||||
malloc_domain(size_t *sizep, int *indxp, struct malloc_type *mtp, int domain, | malloc_domain(size_t *sizep, int *indxp, struct malloc_type *mtp, int domain, | ||||
int flags) | int flags) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | #endif | ||||
} | } | ||||
if (flags & M_WAITOK) | if (flags & M_WAITOK) | ||||
KASSERT(ret != NULL, ("malloc(M_WAITOK) returned NULL")); | KASSERT(ret != NULL, ("malloc(M_WAITOK) returned NULL")); | ||||
else if (ret == NULL) | else if (ret == NULL) | ||||
t_malloc_fail = time_uptime; | t_malloc_fail = time_uptime; | ||||
#ifdef DEBUG_REDZONE | #ifdef DEBUG_REDZONE | ||||
if (ret != NULL) | if (ret != NULL) | ||||
ret = redzone_setup(ret, osize); | ret = redzone_setup(ret, osize, mtp); | ||||
#endif | #endif | ||||
return (ret); | return (ret); | ||||
} | } | ||||
void * | void * | ||||
mallocarray(size_t nmemb, size_t size, struct malloc_type *type, int flags) | mallocarray(size_t nmemb, size_t size, struct malloc_type *type, int flags) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
#ifdef DEBUG_MEMGUARD | #ifdef DEBUG_MEMGUARD | ||||
if (is_memguard_addr(addr)) { | if (is_memguard_addr(addr)) { | ||||
memguard_free(addr); | memguard_free(addr); | ||||
return (EJUSTRETURN); | return (EJUSTRETURN); | ||||
} | } | ||||
#endif | #endif | ||||
#ifdef DEBUG_REDZONE | #ifdef DEBUG_REDZONE | ||||
redzone_check(addr); | redzone_check(addr, mtp); | ||||
*addrp = redzone_addr_ntor(addr); | *addrp = redzone_addr_ntor(addr); | ||||
#endif | #endif | ||||
return (0); | return (0); | ||||
} | } | ||||
#endif | #endif | ||||
/* | /* | ||||
▲ Show 20 Lines • Show All 696 Lines • Show Last 20 Lines |