---
name: "vm_map_findspace"
section: "9"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/vm_map_findspace"
---

# vm\_map\_findspace(9)

find a free region within a map

## NAME

**vm\_map\_findspace** – find a free region within a map

## SYNOPSIS

**#include \<sys/param.h\>**

**#include \<vm/vm.h\>**

**#include \<vm/vm\_map.h\>**

*int*\

**vm\_map\_findspace**(*vm\_map\_t map*, *vm\_offset\_t start*, *vm\_size\_t length*, *vm\_offset\_t \*addr*);

## DESCRIPTION

The **vm\_map\_findspace**() function attempts to find a region with sufficient space in the *map* for an object of size *length* at the address *addr*.

## IMPLEMENTATION NOTES

It is the caller's responsibility to obtain a lock on the *map* using [vm\_map\_lock(9)](/vm_map_lock/9.md) before calling this function.

This routine may call [pmap\_growkernel(9)](/pmap_growkernel/9.md) to grow the kernel's address space, if and only if the mapping is being made within the kernel address space, and if insufficient space remains in the *kernel\_map*.

## RETURN VALUES

The **vm\_map\_findspace**() function returns the value 0 if successful, and *\*addr* will contain the first virtual address in the found region; otherwise, the value 1 is returned.

## SEE ALSO

[pmap\_growkernel(9)](/pmap_growkernel/9.md), [vm\_map(9)](/vm_map/9.md), [vm\_map\_entry\_resize\_free(9)](/vm_map_entry_resize_free/9.md), [vm\_map\_lock(9)](/vm_map_lock/9.md)

## AUTHORS

This manual page was written by Bruce M Simpson ⟨bms@spc.org⟩.
