函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:hmm_vma_do_fault

函数原型:static int hmm_vma_do_fault(struct mm_walk *walk, unsigned long addr, bool write_fault, uint64_t *pfn)

返回类型:int

参数:

类型参数名称
struct mm_walk *walk
unsigned longaddr
boolwrite_fault
uint64_t *pfn
39  flags等于aulting for non current tsk/mm
40  hmm_vma_walk等于private
41  range等于range
42  vma等于vma
45  如果非vma则转到:err
48  如果flags按位与Retry fault if non-blocking, drop mmap_sem and return -EAGAIN in that case.flags或等于Retry fault if blocking
50  如果write_faultflags或等于Fault was a write access
53  ret等于By the time we get here, we already hold the mm semaphore* The mmap_sem may have been released depending on flags and our* return value. See filemap_fault() and __lock_page_or_retry().
54  如果ret按位与VM_FAULT_RETRY
56  返回:负EAGAIN
58  如果ret按位与VM_FAULT_ERROR则转到:err
61  返回:负EBUSY
63  err :
64  pfn等于values[ corresponding CPU page table entry points to poisoned memory]
65  返回:负EFAULT
调用者
名称描述
hmm_vma_walk_hole_hmm_vma_walk_hole_() - handle a range lacking valid pmd or pte(s)*@addr: range virtual start address (inclusive)*@end: range virtual end address (exclusive)*@fault: should we fault or not ?*@write_fault: write fault ?*@walk: mm_walk structure* Return: 0