Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\uprobes.c Create Date:2022-07-28 13:45:37
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__uprobe_register - register a probe*@inode: the file in which the probe has to be placed

Proto:static int __uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, struct uprobe_consumer *uc)

Type:int

Parameter:

TypeParameterName
struct inode *inode
loff_toffset
loff_tref_ctr_offset
struct uprobe_consumer *uc
1159  If Not handler && Not ret_handler Then Return -EINVAL
1163  If Not readpage && Not shmem_mapping(i_mapping) Then Return -EIO
1166  If offset > NOTE: in a 32bit arch with a preemptable kernel and* an UP compile the i_size_read/write must be atomic* with respect to the local cpu (unlike with preempt disabled),* but they don't need to be atomic with respect to other cpus like in* true SMP (so they Then Return -EINVAL
1169  retry :
1170  uprobe = alloc_uprobe(inode, offset, ref_ctr_offset)
1171  If Not uprobe Then Return -ENOMEM
1173  If IS_ERR(uprobe) Then Return PTR_ERR(uprobe)
1180  lock for writing
1181  ret = -EAGAIN
1182  If Value is more likely to compile time(uprobe_is_active(uprobe)) Then
1183  consumer_add(uprobe, uc)
1184  ret = register_for_each_vma(uprobe, uc)
1185  If ret Then __uprobe_unregister(uprobe, uc)
1188  lease a write lock
1189  put_uprobe(uprobe)
1191  If Value for the false possibility is greater at compile time(ret == - EAGAIN) Then Go to retry
1193  Return ret
Caller
NameDescribe
uprobe_register
uprobe_register_refctr