函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\vm86_32.c Create Date:2022-07-27 09:40:43
Last Modify:2022-05-22 10:11:03 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:mark_screen_rdonly

函数原型:static void mark_screen_rdonly(struct mm_struct *mm)

返回类型:void

参数:

类型参数名称
struct mm_struct *mm
175  lock for writing
176  pgd等于a shortcut to get a pgd_t in a given mm(mm, 0xA0000)
177  如果pgd_none_or_clear_bad(pgd)则转到:out
179  p4d等于p4d_offset(pgd, 0xA0000)
180  如果p4d_none_or_clear_bad(p4d)则转到:out
182  pud等于pud_offset(p4d, 0xA0000)
183  如果pud_none_or_clear_bad(pud)则转到:out
185  pmd等于pmd_offset(pud, 0xA0000)
187  如果pmd_trans_huge( * pmd)则
188  vma等于Look up the first VMA which satisfies addr < vm_end, NULL if none.
189  split_huge_pmd(vma, pmd, 0xA0000)
191  如果pmd_none_or_clear_bad(pmd)则转到:out
193  pte等于pte_offset_map_lock(mm, pmd, 0xA0000, & ptl)
194 i小于32循环
195  如果pte_present( * pte)则set_pte(pte, pte_wrprotect( * pte))
197  pte自加
199  pte_unmap_unlock(pte, ptl)
200  out :
201  lease a write lock
202  flush_tlb_mm_range(mm, 0xA0000, 0xA0000 + 32 * PAGE_SIZE, PAGE_SHIFT determines the page size , false)
调用者
名称描述
do_sys_vm86