Function report |
Source Code:mm\hmm.c |
Create Date:2022-07-28 16:36:48 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:hmm_vma_do_fault
Proto:static int hmm_vma_do_fault(struct mm_walk *walk, unsigned long addr, bool write_fault, uint64_t *pfn)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct mm_walk * | walk | |
| unsigned long | addr | |
| bool | write_fault | |
| uint64_t * | pfn |
| 40 | hmm_vma_walk = private |
| 48 | If flags & Retry fault if non-blocking, drop mmap_sem and return -EAGAIN in that case. Then flags |= Retry fault if blocking |
| 50 | If write_fault Then flags |= 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 | If ret & VM_FAULT_RETRY Then |
| 56 | Return -EAGAIN |
| 58 | If ret & VM_FAULT_ERROR Then Go to err |
| 61 | Return -EBUSY |
| 63 | err : |
| 65 | Return -EFAULT |
| Name | Describe |
|---|---|
| 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 |
| 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 |