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 |