| .. | .. |
|---|
| 4 | 4 | |
|---|
| 5 | 5 | #include <linux/compiler.h> |
|---|
| 6 | 6 | #include <stdbool.h> |
|---|
| 7 | | -#include "intlist.h" |
|---|
| 8 | | -#include "namespaces.h" |
|---|
| 7 | + |
|---|
| 8 | +struct intlist; |
|---|
| 9 | +struct nsinfo; |
|---|
| 9 | 10 | |
|---|
| 10 | 11 | /* Probe related configurations */ |
|---|
| 11 | 12 | struct probe_conf { |
|---|
| .. | .. |
|---|
| 15 | 16 | bool no_inlines; |
|---|
| 16 | 17 | bool cache; |
|---|
| 17 | 18 | int max_probes; |
|---|
| 19 | + unsigned long magic_num; |
|---|
| 18 | 20 | }; |
|---|
| 19 | 21 | extern struct probe_conf probe_conf; |
|---|
| 20 | 22 | extern bool probe_event_dry_run; |
|---|
| 23 | + |
|---|
| 24 | +#define DEFAULT_PROBE_MAGIC_NUM 0xdeade12d /* u32: 3735937325 */ |
|---|
| 21 | 25 | |
|---|
| 22 | 26 | struct symbol; |
|---|
| 23 | 27 | |
|---|
| .. | .. |
|---|
| 27 | 31 | char *symbol; /* Base symbol */ |
|---|
| 28 | 32 | char *module; /* Module name */ |
|---|
| 29 | 33 | unsigned long offset; /* Offset from symbol */ |
|---|
| 34 | + unsigned long ref_ctr_offset; /* SDT reference counter offset */ |
|---|
| 30 | 35 | unsigned long address; /* Actual address of the trace point */ |
|---|
| 31 | 36 | bool retprobe; /* Return probe flag */ |
|---|
| 32 | 37 | }; |
|---|
| .. | .. |
|---|
| 35 | 40 | struct probe_trace_arg_ref { |
|---|
| 36 | 41 | struct probe_trace_arg_ref *next; /* Next reference */ |
|---|
| 37 | 42 | long offset; /* Offset value */ |
|---|
| 43 | + bool user_access; /* User-memory access */ |
|---|
| 38 | 44 | }; |
|---|
| 39 | 45 | |
|---|
| 40 | 46 | /* kprobe-tracer and uprobe-tracer tracing argument */ |
|---|
| .. | .. |
|---|
| 80 | 86 | char *var; /* Variable name */ |
|---|
| 81 | 87 | char *type; /* Type name */ |
|---|
| 82 | 88 | struct perf_probe_arg_field *field; /* Structure fields */ |
|---|
| 89 | + bool user_access; /* User-memory access */ |
|---|
| 83 | 90 | }; |
|---|
| 84 | 91 | |
|---|
| 85 | 92 | /* Perf probe probing event (point + arg) */ |
|---|