函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\userfaultfd.c Create Date:2022-07-29 10:52:31
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:dup_userfaultfd

函数原型:int dup_userfaultfd(struct vm_area_struct *vma, struct list_head *fcs)

返回类型:int

参数:

类型参数名称
struct vm_area_struct *vma
struct list_head *fcs
673  ctx等于NULL
676  octx等于ctx
677  如果非octx或非atures requested from the userspace 按位与UFFD_FEATURE_EVENT_FORK的值则
678  vm_userfaultfd_ctx等于NULL_VM_UFFD_CTX
679  Flags, see mm.h. 与等于wrprotect pages tracking 按位或missing pages tracking 的值的反
680  返回:0
683  list_for_each_entry - iterate over list of given type*@pos: the type * to use as a loop cursor.*@head: the head for your list.*@member: the name of the list_head within the struct.(fctx, fcs, list)
684  如果orig恒等于octx
685  ctx等于new
686  退出
689  如果非ctx
690  fctx等于开辟内存
691  如果非fctx则返回:负ENOMEM
694  ctx等于分配高速缓存区
695  如果非ctx
696  释放内存
697  返回:负ENOMEM
700  _set - set a refcount's value*@r: the refcount*@n: value to which the refcount will be set
701  userfaultfd syscall flags 等于userfaultfd syscall flags
702  state machine 等于UFFD_STATE_RUNNING
703  atures requested from the userspace 等于atures requested from the userspace
704  leased = false
705  memory mappings are changing because of non-cooperative event = false
706  mm with one ore more vmas attached to this userfaultfd_ctx 等于The address space we belong to.
707  mmgrab() - Pin a &struct mm_struct
709  serfaultfd_ctx_get - Acquires a reference to the internal userfaultfd* context.*@ctx: [in] Pointer to the userfaultfd context.
710  WRITE_ONCE(memory mappings are changing because of non-cooperative event , true)
711  orig等于octx
712  new等于ctx
713  添加链表项
716  ctx等于ctx
717  返回:0
调用者
名称描述
dup_mmap