函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\rmap.c Create Date:2022-07-27 16:25:47
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:page_mkclean_one

函数原型:static bool page_mkclean_one(struct page *page, struct vm_area_struct *vma, unsigned long address, void *arg)

返回类型:bool

参数:

类型参数名称
struct page *page
struct vm_area_struct *vma
unsigned longaddress
void *arg
907  struct page_vma_mapped_walk pvmw = {page = page, vma = vma, address = address, flags = Avoid racy checks , }
914  cleaned等于arg
920  mmu_notifier_range_init( & range, MMU_NOTIFY_PROTECTION_PAGE, 0, vma, The address space we belong to. , address, 两数取小(The first byte after our end addresswithin vm_mm. , address + Returns the number of bytes in this potentially compound page. ))
923  mmu_notifier_invalidate_range_start( & range)
925 page_vma_mapped_walk - check if @pvmw->page is mapped in @pvmw->vma at*@pvmw->address*@pvmw: pointer to struct page_vma_mapped_walk. page, vma, address and flags* must be set. pmd, pte and ptl must be NULL.* Returns true if the page is mapped in the vma循环
926  ret等于0
928  address等于address
929  如果pte
931  pte等于pte
938  entry等于pte_wrprotect(entry)
939  entry等于pte_mkclean(entry)
941  ret等于1
942  否则
958  WARN_ON_ONCE(1)
969  如果retcleaned自加
973  mmu_notifier_invalidate_range_end( & range)
975  返回:true