Index: kern_malloc.c =================================================================== RCS file: /usr/repo/src/sys/kern/kern_malloc.c,v retrieving revision 1.150 diff -u -p -r1.150 kern_malloc.c --- kern_malloc.c 28 Dec 2005 01:53:13 -0000 1.150 +++ kern_malloc.c 28 Dec 2005 02:10:29 -0000 @@ -146,6 +146,16 @@ static uma_zone_t mt_zone; u_int vm_memguard_divisor; SYSCTL_UINT(_vm, OID_AUTO, memguard_divisor, CTLFLAG_RD, &vm_memguard_divisor, 0, "(kmem_size/memguard_divisor) == memguard submap size"); + +/* XXX CHANGEME! */ +/* Place short description of memory type here. */ +static char vm_memguard_desc[256] = ""; +TUNABLE_STR("vm.memguard_desc", vm_memguard_desc, sizeof(vm_memguard_desc)); +SYSCTL_STRING(_vm, OID_AUTO, memguard_desc, CTLFLAG_RW, vm_memguard_desc, + sizeof(vm_memguard_desc), "short description of memory type"); + +#define MEMGUARD_CMP(mtp) \ + (strcmp((mtp)->ks_shortdesc, vm_memguard_desc) == 0) #endif u_int vm_kmem_size; @@ -304,8 +314,7 @@ malloc(unsigned long size, struct malloc ("malloc(M_WAITOK) in interrupt context")); #ifdef DEBUG_MEMGUARD - /* XXX CHANGEME! */ - if (mtp == M_SUBPROC) + if (MEMGUARD_CMP(mtp)) return memguard_alloc(size, flags); #endif @@ -359,8 +368,7 @@ free(void *addr, struct malloc_type *mtp return; #ifdef DEBUG_MEMGUARD - /* XXX CHANGEME! */ - if (mtp == M_SUBPROC) { + if (MEMGUARD_CMP(mtp)) { memguard_free(addr); return; } @@ -423,8 +431,7 @@ realloc(void *addr, unsigned long size, */ #ifdef DEBUG_MEMGUARD -/* XXX: CHANGEME! */ -if (mtp == M_SUBPROC) { +if (MEMGUARD_CMP(mtp)) { slab = NULL; alloc = size; } else {