linux/samples
Daniel T. Lee 1d0c5f6f3d samples/bpf: Use kyscall instead of kprobe in syscall tracing program
Syscall tracing using kprobe is quite unstable. Since it uses the exact
name of the kernel function, the program might broke due to the rename
of a function. The problem can also be caused by a changes in the
arguments of the function to which the kprobe connects.

In this commit, ksyscall is used instead of kprobe. By using ksyscall,
libbpf will detect the appropriate kernel function name.
(e.g. sys_write -> __s390_sys_write). This eliminates the need to worry
about which wrapper function to attach in order to parse arguments.

In addition, ksyscall provides more fine method with attaching system
call, the coarse SYSCALL helper at trace_common.h can be removed.

Signed-off-by: Daniel T. Lee <danieltimlee@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20221224071527.2292-2-danieltimlee@gmail.com
2022-12-29 14:22:34 -08:00
..
acrn
auxdisplay
binderfs
bpf samples/bpf: Use kyscall instead of kprobe in syscall tracing program 2022-12-29 14:22:34 -08:00
configfs
connector
coresight coresight: syscfg: Example CoreSight configuration loadable module 2021-11-26 11:34:07 -07:00
fanotify Add gitignore file for samples/fanotify/ subdirectory 2021-11-07 11:19:24 -08:00
fprobe Fixes and minor clean ups for tracing: 2022-07-12 16:17:40 -07:00
ftrace x86/ibt,ftrace: Add ENDBR to samples/ftrace 2022-03-15 10:32:38 +01:00
hidraw
hw_breakpoint
kdb kdb: Rename members of struct kdbtab_t 2021-07-27 17:05:06 +01:00
kfifo samples/kfifo: Rename read_lock/write_lock 2021-10-13 14:36:48 +02:00
kmemleak
kobject samples/kobject: Use sysfs_emit instead of sprintf 2022-03-18 14:28:29 +01:00
kprobes samples: Use KSYM_NAME_LEN for kprobes 2022-07-12 16:36:45 -04:00
landlock samples/landlock: Document best-effort approach for LANDLOCK_ACCESS_FS_REFER 2022-11-07 20:49:50 +01:00
livepatch livepatch: Reorder to use before freeing a pointer 2022-03-23 13:51:11 +01:00
mei samples: mei: don't wait on read completion upon write. 2021-08-01 09:54:22 +02:00
nitro_enclaves nitro_enclaves: Add fixes for checkpatch blank line reports 2021-09-14 11:11:20 +02:00
pidfd
pktgen samples: pktgen: Use "grep -E" instead of "egrep" 2022-11-22 13:23:48 +01:00
qmi soc: qcom: qmi: use const for struct qmi_elem_info 2022-08-29 17:33:01 -05:00
rpmsg
rust rust: macros: take string literals in module! 2022-12-04 01:59:15 +01:00
seccomp samples/seccomp: Adjust sample to also provide kill option 2022-02-10 19:09:12 -08:00
timers
trace_events tracing: Add example and documentation for new __vstring() macro 2022-07-24 19:11:17 -04:00
trace_printk
uhid
user_events tracing/user_events: Use bits vs bytes for enabled status page data 2022-09-29 10:17:37 -04:00
v4l treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_168.RULE (part 2) 2022-06-10 14:51:36 +02:00
vfio-mdev vfio/mdev: add mdev available instance checking to the core 2022-10-04 12:06:58 -06:00
vfs
watch_queue
watchdog
Kconfig samples: add first Rust examples 2022-09-28 09:03:08 +02:00
Makefile samples: add first Rust examples 2022-09-28 09:03:08 +02:00