Function report |
Source Code:kernel\events\uprobes.c |
Create Date:2022-07-28 13:44:39 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__replace_page - replace page in vma by new page
Proto:static int __replace_page(struct vm_area_struct *vma, unsigned long addr, struct page *old_page, struct page *new_page)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct vm_area_struct * | vma | |
| unsigned long | addr | |
| struct page * | old_page | |
| struct page * | new_page |
| 158 | struct page_vma_mapped_walk pvmw = {page = compound_head(old_page), vma = vma, address = addr, } |
| 167 | mmu_notifier_range_init( & range, MMU_NOTIFY_CLEAR, 0, vma, mm, addr, addr + PAGE_SIZE) |
| 170 | If new_page Then |
| 171 | err = mem_cgroup_try_charge(new_page, The address space we belong to. , GFP_KERNEL, & memcg, false) |
| 183 | If new_page Then mem_cgroup_cancel_charge(new_page, memcg, false) |
| 185 | Go to unlock |
| 187 | VM_BUG_ON_PAGE(addr != address, old_page) |
| 189 | If new_page Then |
| 191 | page_add_new_anon_rmap(new_page, vma, addr, false) |
| 194 | Else dec_mm_counter(mm, MM_ANONPAGES) |
| 200 | inc_mm_counter(mm, MM_ANONPAGES) |
| 203 | flush_cache_page(vma, addr, pte_pfn( * pte)) |
| 204 | ptep_clear_flush_notify(vma, addr, pte) |
| 209 | page_remove_rmap(old_page, false) |
| 210 | If Not page_mapped(old_page) Then try_to_free_swap(old_page) |
| 212 | page_vma_mapped_walk_done( & pvmw) |
| 214 | If Flags, see mm.h. & VM_LOCKED Then munlock_vma_page(old_page) |
| 218 | err = 0 |
| 219 | unlock : |
| 221 | unlock_page(old_page) |
| 222 | Return err |
| Name | Describe |
|---|---|
| uprobe_write_opcode | NOTE:* Expect the breakpoint instruction to be the smallest size instruction for* the architecture |
| 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 |