Commit | Line | Data |
---|---|---|
08726907 MJ |
1 | /* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) |
2 | * | |
3 | * src/wrapper/kprobes.h | |
4 | * | |
5 | * Copyright (C) 2021 Michael Jeanson <mjeanson@efficios.com> | |
6 | */ | |
7 | ||
8 | #ifndef _LTTNG_WRAPPER_KPROBES_H | |
9 | #define _LTTNG_WRAPPER_KPROBES_H | |
10 | ||
11 | #include <linux/kprobes.h> | |
5f4c791e | 12 | #include <lttng/kernel-version.h> |
08726907 | 13 | |
5f4c791e | 14 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0)) |
08726907 MJ |
15 | |
16 | static inline | |
17 | struct kretprobe *lttng_get_kretprobe(struct kretprobe_instance *ri) | |
18 | { | |
19 | return get_kretprobe(ri); | |
20 | } | |
21 | ||
5f4c791e | 22 | #else /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) */ |
08726907 MJ |
23 | |
24 | static inline | |
25 | struct kretprobe *lttng_get_kretprobe(struct kretprobe_instance *ri) | |
26 | { | |
27 | return ri->rp; | |
28 | } | |
29 | ||
5f4c791e | 30 | #endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) */ |
08726907 | 31 | |
3c46ddc1 | 32 | |
a9d49ac6 MH |
33 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) || \ |
34 | LTTNG_RHEL_KERNEL_RANGE(5,14,0,163,0,0, 5,15,0,0,0,0)) | |
3c46ddc1 MJ |
35 | static inline |
36 | unsigned long lttng_get_kretprobe_retaddr(struct kretprobe_instance *ri) | |
37 | { | |
38 | return get_kretprobe_retaddr(ri); | |
39 | } | |
40 | ||
41 | #else | |
42 | ||
43 | static inline | |
44 | unsigned long lttng_get_kretprobe_retaddr(struct kretprobe_instance *ri) | |
45 | { | |
46 | return (unsigned long) ri->ret_addr; | |
47 | } | |
48 | #endif | |
49 | ||
08726907 | 50 | #endif /* _LTTNG_WRAPPER_KPROBES_H */ |