函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:hugepage_add_new_anon_rmap

函数原型:void hugepage_add_new_anon_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address)

返回类型:void

参数:

类型参数名称
struct page *page
struct vm_area_struct *vma
unsigned longaddress
1975  BUG_ON(address < Our start address within vm_mm. || address >= The first byte after our end addresswithin vm_mm. )
1976  atomic_set(compound_mapcount_ptr(page), 0)
1977  __page_set_anon_rmap - set up new anonymous rmap*@page: Page or Hugepage to add to rmap*@vma: VM area to add page to.*@address: User virtual address of the mapping *@exclusive: the page is exclusively owned by the current process
调用者
名称描述
hugetlb_cowHugetlb_cow() should be called with page lock of the original hugepage held.* Called with hugetlb_instantiation_mutex held and pte_page locked so we* cannot race with other handlers or page migration.
hugetlb_no_page
hugetlb_mcopy_atomic_pteUsed by userfaultfd UFFDIO_COPY. Based on mcopy_atomic_pte with* modifications for huge pages.