diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-30 09:35:19 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-30 09:35:19 -0800 |
commit | a145dd411eb28c83ee4bb68b66f62c326c0f764e (patch) | |
tree | d88745d3839f501e59cf9ada5274777af939aa2d /include/linux | |
parent | f8e988436b9d83b20bc5cc378f1a8034816ae6a6 (diff) | |
download | kernel_samsung_smdk4412-a145dd411eb28c83ee4bb68b66f62c326c0f764e.tar.gz kernel_samsung_smdk4412-a145dd411eb28c83ee4bb68b66f62c326c0f764e.tar.bz2 kernel_samsung_smdk4412-a145dd411eb28c83ee4bb68b66f62c326c0f764e.zip |
VM: add "vm_insert_page()" function
This is what a lot of drivers will actually want to use to insert
individual pages into a user VMA. It doesn't have the old PageReserved
restrictions of remap_pfn_range(), and it doesn't complain about partial
remappings.
The page you insert needs to be a nice clean kernel allocation, so you
can't insert arbitrary page mappings with this, but that's not what
people want.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/mm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index 0e73f1539d0..29f02d8513f 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -956,6 +956,7 @@ struct page *vmalloc_to_page(void *addr); unsigned long vmalloc_to_pfn(void *addr); int remap_pfn_range(struct vm_area_struct *, unsigned long addr, unsigned long pfn, unsigned long size, pgprot_t); +int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *); struct page *follow_page(struct vm_area_struct *, unsigned long address, unsigned int foll_flags); |