函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:@vma contains reference counter, not the probed instruction.

函数原型:static int delayed_ref_ctr_inc(struct vm_area_struct *vma)

返回类型:int

参数:

类型参数名称
struct vm_area_struct *vma
1334  ret等于0, err等于0
1336  mutex_lock( & delayed_uprobe_lock)
1338  du等于list_entry - get the struct for this entry*@ptr: the &struct list_head pointer.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.(pos, structdelayed_uprobe, list)
1340  如果mm不等于The address space we belong to. 或非valid_ref_ctr_vma(uprobe, vma)则继续下一循环
1344  vaddr等于offset_to_vaddr(vma, ref_ctr_offset)
1345  ret等于__update_ref_ctr(The address space we belong to. , vaddr, 1)
1346  如果ret
1347  update_ref_ctr_warn(uprobe, The address space we belong to. , 1)
1348  如果非errerr等于ret
1351  delayed_uprobe_delete(du)
1353  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
1354  返回:err
调用者
名称描述
uprobe_mmapCalled from mmap_region/vma_adjust with mm->mmap_sem acquired.* Currently we ignore all errors and always return 0, the callers* can't handle the failure anyway.