函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Called 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.

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

返回类型:int

参数:

类型参数名称
struct vm_area_struct *vma
1369  如果allows us to skip the uprobe_mmap if there are no uprobe events active* at this time. Probably a fine grained per inode count is better?()则返回:0
1372  如果File we map to (can be NULL). Flags, see mm.h. 按位与VM_WRITE按位或VM_SHARED的值的值恒等于VM_WRITEtest_bit(has uprobes , & flags)则@vma contains reference counter, not the probed instruction.
1377  如果非valid_vma: Verify if the specified vma is an executable vma* Relax restrictions while unregistering: vm_flags might have* changed after breakpoint was inserted则返回:0
1380  inode等于file_inode(File we map to (can be NULL). )
1381  如果非inode则返回:0
1384  mutex_lock(uprobes_mmap_hash(inode))
1385  For a given range in vma, build a list of probes that need to be inserted.
1392  如果非fatal_signal_pending(当前进程)且filter_chain(uprobe, UPROBE_FILTER_MMAP, The address space we belong to. )则
1394  vaddr等于offset_to_vaddr(vma, offset)
1395  install_breakpoint(uprobe, The address space we belong to. , vma, vaddr)
1397  put_uprobe(uprobe)
1399  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.
1401  返回:0
调用者
名称描述
__vma_adjustWe cannot adjust vm_start, vm_end, vm_pgoff fields of a vma that* is already present in an i_mmap tree without adjusting the tree.* The following helper function should be used when such adjustments* are necessary
mmap_region