Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:__uprobe_trace_func

Proto:static void __uprobe_trace_func(struct trace_uprobe *tu, unsigned long func, struct pt_regs *regs, struct uprobe_cpu_buffer *ucb, int dsize, struct trace_event_file *trace_file)

Type:void

Parameter:

TypeParameterName
struct trace_uprobe *tu
unsigned longfunc
struct pt_regs *regs
struct uprobe_cpu_buffer *ucb
intdsize
struct trace_event_file *trace_file
938  call = trace_probe_event_call( & tp)
940  WARN_ON(call != event_call)
942  If WARN_ON_ONCE( trace entry size + dsize > PAGE_SIZE) Then Return
945  If race_trigger_soft_disabled - do triggers and test if soft disabled*@file: The file pointer of the event to test* If any triggers without filters are attached to this event, they* will be called here Then Return
948  esize = SIZEOF_TRACE_ENTRY(is_ret_probe(tu))
949  size = esize + trace entry size + dsize
950  event = trace_event_buffer_lock_reserve( & buffer, trace_file, type, size, 0, 0)
952  If Not event Then Return
955  entry = g_buffer_event_data - return the data of the event*@event: the event to get the data from
956  If is_ret_probe(tu) Then
957  vaddr[0] = func
958  vaddr[1] = instruction_pointer(regs)
959  data = DATAOF_TRACE_ENTRY(entry, true)
960  Else
961  vaddr[0] = instruction_pointer(regs)
962  data = DATAOF_TRACE_ENTRY(entry, false)
965  No 3D Now!(data, buf, trace entry size + dsize)
967  vent_trigger_unlock_commit - handle triggers and finish event commit*@file: The file pointer assoctiated to the event*@buffer: The ring buffer that the event is being written to*@event: The event meta data in the ring buffer*@entry: The event
Caller
NameDescribe
uprobe_trace_funcprobe handler
uretprobe_trace_func