vm_insert_page(9)

NAME

vm_insert_page - insert single page into user vma

SYNOPSIS

int vm_insert_page(struct vm_area_struct * vma, unsigned long addr,
                   struct page * page);

ARGUMENTS

vma
user vma to map to
addr
target user address of this page
page
source kernel page

DESCRIPTION

This allows drivers to insert individual pages they´ve allocated into a user vma.

The page has to be a nice clean _individual_ kernel allocation. If you allocate a compound page, you need to have marked it as such
(__GFP_COMP), or manually just split the page up yourself (see
split_page).

NOTE! Traditionally this was done with "remap_pfn_range" which took an arbitrary page protection parameter. This doesn´t allow that. Your vma protection will have to be set up correctly, which means that if you
want a shared writable mapping, you´d better ask for a shared writable mapping!

The page does not need to be reserved.

COPYRIGHT

Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout