January 4, 2008 KMEM_FREE 9

### NAME

kmem_free - free kernel wired memory

### SYNOPSIS

```void` kmem_free(```void *p``, size_t size`)

### DESCRIPTION

kmem_free(``) frees kernel wired memory allocated by kmem_alloc(``) or kmem_zalloc(``) so that it can be used for other purposes. It takes the following arguments.

```p`
  The pointer to the memory being freed. It must be the one returned by kmem_alloc(``) or kmem_zalloc(``).

```size`
  The size of the memory being freed, in bytes. It must be the same as the ```size` argument used for kmem_alloc(``) or kmem_zalloc(``) when the memory was allocated.

Freeing ```NULL` is illegal.

### SEE ALSO

intro(9), kmem_alloc(9), kmem_zalloc(9), memoryallocators(9)

### CAVEATS

kmem_free(``) can not be used from interrupt context.