Function report |
Source Code:mm\userfaultfd.c |
Create Date:2022-07-28 16:33:37 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:mcopy_atomic_pte
Proto:static int mcopy_atomic_pte(struct mm_struct *dst_mm, pmd_t *dst_pmd, struct vm_area_struct *dst_vma, unsigned long dst_addr, unsigned long src_addr, struct page **pagep)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct mm_struct * | dst_mm | |
pmd_t * | dst_pmd | |
struct vm_area_struct * | dst_vma | |
unsigned long | dst_addr | |
unsigned long | src_addr | |
struct page ** | pagep |
67 | If Not pagep Then |
73 | page_kaddr = kmap_atomic(page) |
74 | ret = copy_from_user(page_kaddr, (constvoid__user * )src_addr, PAGE_SIZE) |
86 | Else |
103 | If Flags, see mm.h. & VM_WRITE Then _dst_pte = pte_mkwrite(pte_mkdirty(_dst_pte)) |
107 | If File we map to (can be NULL). Then |
110 | offset = linear_page_index(dst_vma, dst_addr) |
113 | If Value for the false possibility is greater at compile time(offset >= max_off) Then Go to out_release_uncharge_unlock |
117 | If Not pte_none( * dst_pte) Then Go to out_release_uncharge_unlock |
120 | inc_mm_counter(dst_mm, MM_ANONPAGES) |
125 | set_pte_at(dst_mm, dst_addr, dst_pte, _dst_pte) |
130 | pte_unmap_unlock(dst_pte, ptl) |
131 | ret = 0 |
132 | out : |
133 | Return ret |
135 | pte_unmap_unlock(dst_pte, ptl) |
137 | out_release : |
139 | Go to out |
Name | Describe |
---|---|
mfill_atomic_pte |
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 |