vm_map_growstack man page on FreeBSD

Man page or keyword search:  
man Server   9747 pages
apropos Keyword Search (all sections)
Output format
FreeBSD logo
[printable version]

VM_MAP_STACK(9)		 BSD Kernel Developer's Manual	       VM_MAP_STACK(9)

NAME
     vm_map_stack, vm_map_growstack — manage process stacks

SYNOPSIS
     #include <sys/param.h>
     #include <vm/vm.h>
     #include <vm/vm_map.h>

     int
     vm_map_stack(vm_map_t map, vm_offset_t addrbos, vm_size_t max_ssize,
	 vm_prot_t prot, vm_prot_t max, int cow);

     int
     vm_map_growstack(struct proc *p, vm_offset_t addr);

DESCRIPTION
     The vm_map_stack() function maps a process stack for a new process image.
     The stack is mapped addrbos in map, with a maximum size of max_ssize.
     Copy-on-write flags passed in cow are also applied to the new mapping.
     Protection bits are supplied by prot and max.

     It is typically called by execve(2).

     The vm_map_growstack() function is responsible for growing a stack for
     the process p to the desired address addr, similar to the legacy sbrk(2)
     call.

IMPLEMENTATION NOTES
     The vm_map_stack() function calls vm_map_insert(9) to create its map‐
     pings.

     The vm_map_growstack() function acquires the Giant lock, and the process
     lock on p, for the duration of the call.

RETURN VALUES
     The vm_map_stack() function returns KERN_SUCCESS if the mapping was allo‐
     cated successfully.

     Otherwise, if mapping the stack would exceed the process's VMEM resource
     limit, or if the specified bottom-of-stack address is out of range for
     the map, or if there is already a mapping at the address which would
     result, or if max_ssize could not be accommodated within the current map‐
     ping, KERN_NO_SPACE is returned.

     Other possible return values for this function are documented in
     vm_map_insert(9).

     The vm_map_growstack() function returns KERN_SUCCESS if addr is already
     mapped, or if the stack was grown successfully.

     It also returns KERN_SUCCESS if addr is outside the stack range; this is
     done in order to preserve compatibility with the deprecated grow() func‐
     tion previously located in the file vm_machdep.c.

SEE ALSO
     vm_map(9), vm_map_insert(9)

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

BSD				 July 19, 2003				   BSD
[top]

List of man pages available for FreeBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net