VM_MAP_SUBMAP(9)

πŸ’– VM_MAP_SUBMAP(9) πŸ’–

okay bestie, welcome to the Kernel Developer's Manual page for vm_map_submap β€” yes we're reading kernel man pages for fun now, this is who we are, and honestly? iconic behavior. πŸŽ€


✨ NAME ✨

vm_map_submap β€” create a subordinate map


🌸 SYNOPSIS 🌸

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

int
vm_map_submap(vm_map_t map, vm_offset_t start, vm_offset_t end,
    vm_map_t submap);

πŸ¦‹ DESCRIPTION πŸ¦‹

So the vm_map_submap() function marks the range bounded by start and end within the map map as being handled by a subordinate map sub_map. it's giving delegation, it's giving "you handle this zone now bestie". πŸ’…

It is generally called by the kernel memory allocator. yes, the kernel memory allocator is the one sliding into its DMs, that's just the vibe here.


πŸ‘‘ IMPLEMENTATION NOTES πŸ‘‘

This function is for internal use only. read: not for you, not for me, internal only, periodt. πŸ™ˆ

Both maps must exist. The range must have been created with vm_map_find(9) previously. no range, no submap, no exceptions. ✨

No other operations may have been performed on this range before calling this function. Only the vm_fault() operation may be performed within this range after calling this function. so like... one specific door is open afterwards and that's it, okay? the range is basically in its locked-in era. πŸ”’

To remove a submapping, one must first remove the range from the parent map, and then destroy the sub_map. This procedure is not recommended. 🚨 like, technically possible, spiritually inadvisable, lowkey cursed β€” proceed at your own risk.


πŸ’œ RETURN VALUES πŸ’œ

The vm_map_submap() function returns KERN_SUCCESS if successful. slay, we love a happy ending. 🫢

Otherwise, it returns KERN_INVALID_ARGUMENT if the caller requested copy-on-write flags, or if the range specified for the sub-map was out of range for the parent map, or if a NULL backing object was specified. any of those three and it's a no from the kernel, sorry bestie. πŸ’€


🌈 SEE ALSO 🌈


⭐ AUTHORS ⭐

This manual page was written by Bruce M Simpson <bms@spc.org>. king behavior, we thank him for his service. πŸ‘‘


ok so that's the whole page bestie, no notes, we read the entire thing, main character energy fr fr πŸ¦‹βœ¨

this lil gem came from Debian, dated July 19, 2003 β€” vintage and still relevant, we love a timeless queen πŸ’– bye pookie! πŸŽ€

πŸ“¦ where this page comes from