Function report | 
Source Code:mm\gup.c | 
Create Date:2022-07-28 14:34:55 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:check_vma_flags
Proto:static int check_vma_flags(struct vm_area_struct *vma, unsigned long gup_flags)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct vm_area_struct * | vma | |
| unsigned long | gup_flags | 
| 678 | vm_flags = Flags, see mm.h. | 
| 679 | write = gup_flags & check pte is writable | 
| 682 | If vm_flags & (Memory mapped I/O or similar | Page-ranges managed without "struct page", just pure PFN ) Then Return -EFAULT | 
| 685 | If gup_flags & don't do file mappings && Not vma_is_anonymous(vma) Then Return -EFAULT | 
| 688 | If write Then | 
| 690 | If Not (gup_flags & get_user_pages read/write w/o permission ) Then Return -EFAULT | 
| 701 | If Not is_cow_mapping(vm_flags) Then Return -EFAULT | 
| 704 | Else if Not (vm_flags & currently active flags ) Then | 
| 705 | If Not (gup_flags & get_user_pages read/write w/o permission ) Then Return -EFAULT | 
| 711 | If Not (vm_flags & limits for mprotect() etc ) Then Return -EFAULT | 
| 718 | If Not arch_vma_access_permitted(vma, write, TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., foreign) Then Return -EFAULT | 
| 720 | Return 0 | 
| Name | Describe | 
|---|---|
| __get_user_pages | __get_user_pages() - pin user pages in memory*@tsk: task_struct of target task*@mm: mm_struct of target mm*@start: starting user address*@nr_pages: number of pages from start to pin*@gup_flags: flags modifying pin behaviour | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |