Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:ftrace_syscall_enter

Proto:static void ftrace_syscall_enter(void *data, struct pt_regs *regs, long id)

Type:void

Parameter:

TypeParameterName
void *data
struct pt_regs *regs
longid
315  tr = data
327  syscall_nr = trace_get_syscall_nr(current process, regs)
328  If syscall_nr < 0 || syscall_nr >= NR_syscalls Then Return
332  trace_file = fetch RCU-sched-protected pointer for dereferencing(enter_syscall_files[syscall_nr])
333  If Not trace_file Then Return
336  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
339  sys_data = syscall_nr_to_meta(syscall_nr)
340  If Not sys_data Then Return
343  size = size of entry + sizeof(unsignedlong) * nb_args
345  local_save_flags(irq_flags)
346  pc = We mask the PREEMPT_NEED_RESCHED bit so as not to confuse all current users* that think a non-zero value indicates we cannot preempt.
348  buffer = buffer
349  event = trace_buffer_lock_reserve(buffer, type, size, irq_flags, pc)
351  If Not event Then Return
354  entry = g_buffer_event_data - return the data of the event*@event: the event to get the data from
355  nr = syscall_nr
356  syscall_get_arguments(current process, regs, args)
357  No 3D Now!(args, args, sizeof(unsignedlong) * nb_args)
359  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