Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\memory.c Create Date:2022-07-28 14:42:11
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:wp_page_shared

Proto:static vm_fault_t wp_page_shared(struct vm_fault *vmf)__releases(vmf->ptl)

Type:vm_fault_t

Parameter:

TypeParameterName
struct vm_fault *vmf
2665  vma = Target VMA
2666  ret = VM_FAULT_WRITE
2668  get_page(->fault handlers should return a* page here, unless VM_FAULT_NOPAGE* is set (which is also implied by* VM_FAULT_ERROR).)
2670  If Function pointers to deal with this struct. && page_mkwrite Then
2673  pte_unmap_unlock(Pointer to pte entry matching* the 'address'. NULL if the page* table hasn't been allocated., Page table lock.* Protects pte page table if 'pte'* is not NULL, otherwise pmd.)
2674  tmp = Notify the address space that the page is about to become writable so that* it can prohibit this or wait for the page to get into an appropriate state.* We do this without the lock held, so that it can sleep if it needs to.
2678  Return tmp
2680  tmp = sh_mkwrite_fault - finish page fault for a shared mapping, making PTE* writeable once the page is prepared*@vmf: structure describing the fault* This function handles all that is needed to finish a write page fault in a
2684  Return tmp
2686  Else
2687  Handle write page faults for pages that can be reused in the current vma* This can happen either due to the mapping being with the VM_SHARED flag,* or due to us being the last reference standing to the page
2688  lock_page may only be called if we have the page's inode pinned.
2690  ret |= Handle dirtying of a page in shared file mapping on a write fault.* The function expects the page to be locked and unlocks it.
2691  put_page(->fault handlers should return a* page here, unless VM_FAULT_NOPAGE* is set (which is also implied by* VM_FAULT_ERROR).)
2693  Return ret
Caller
NameDescribe
do_wp_pageThis routine handles present pages, when users try to write* to a shared page. It is done by copying the page to a new address* and decrementing the shared-page counter for the old page.* Note that this routine assumes that the protection checks have been