get_user_pages(9)
π NAME π
okay so this is get_user_pages(9) from the Kernel API Manual, and the name is literally doing the most: get_user_pages β pin user pages in memory. that's the whole vibe. β¨
β¨ SYNOPSIS β¨
long get_user_pages (unsigned long start , unsigned long nr_pages ,
unsigned int gup_flags , struct page **pages );
π«Ά ARGUMENTS π«Ά
startβ starting user address. πnr_pagesβ number of pages fromstartto pin. π’gup_flagsβ flags modifying lookup behaviour. π©pagesβ array that receives pointers to the pages pinned. Should be at leastnr_pageslong. OrNULL, if caller only intends to ensure the pages are faulted in. π¦
π§ DESCRIPTION π§
This is the same as get_user_pages_remote, just with a less-flexible calling convention where we assume that the mm being operated on belongs to the current task, and doesn't allow passing of a locked parameter. We also obviously don't pass FOLL_REMOTE in here. periodt. π
π SEE ALSO π
Kernel file ./mm/gup.c β and the see-also squad is: try_grab_folio(9), unpin_user_page(9), unpin_folio(9), folio_add_pin(9), unpin_user_pages_dirty_lock(9), unpin_user_page_range_dirty_lock(9), unpin_user_pages(9), unpin_user_folio(9), unpin_folios(9), try_grab_folio_fast(9), follow_page_mask(9), __get_user_pages(9), fixup_user_fault(9), populate_vma_page_range(9), fault_in_writeable(9), fault_in_subpage_writeable(9), fault_in_readable(9), get_dump_page(9), get_user_pages_remote(9), get_user_pages_fast_only(9), get_user_pages_fast(9), pin_user_pages_fast(9), pin_user_pages_remote(9), pin_user_pages(9), memfd_pin_folios(9), folio_add_pins(9) π¦
okay that's the whole page, bestie β mwah! π this one came from ./mm and it's dated October 2026. go pin some pages responsibly ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms