| .. | .. |
|---|
| 1078 | 1078 | struct pt_regs *regs); |
|---|
| 1079 | 1079 | |
|---|
| 1080 | 1080 | static inline bool |
|---|
| 1081 | | -is_default_overflow_handler(struct perf_event *event) |
|---|
| 1081 | +__is_default_overflow_handler(perf_overflow_handler_t overflow_handler) |
|---|
| 1082 | 1082 | { |
|---|
| 1083 | | - if (likely(event->overflow_handler == perf_event_output_forward)) |
|---|
| 1083 | + if (likely(overflow_handler == perf_event_output_forward)) |
|---|
| 1084 | 1084 | return true; |
|---|
| 1085 | | - if (unlikely(event->overflow_handler == perf_event_output_backward)) |
|---|
| 1085 | + if (unlikely(overflow_handler == perf_event_output_backward)) |
|---|
| 1086 | 1086 | return true; |
|---|
| 1087 | 1087 | return false; |
|---|
| 1088 | 1088 | } |
|---|
| 1089 | 1089 | |
|---|
| 1090 | +#define is_default_overflow_handler(event) \ |
|---|
| 1091 | + __is_default_overflow_handler((event)->overflow_handler) |
|---|
| 1092 | + |
|---|
| 1093 | +#ifdef CONFIG_BPF_SYSCALL |
|---|
| 1094 | +static inline bool uses_default_overflow_handler(struct perf_event *event) |
|---|
| 1095 | +{ |
|---|
| 1096 | + if (likely(is_default_overflow_handler(event))) |
|---|
| 1097 | + return true; |
|---|
| 1098 | + |
|---|
| 1099 | + return __is_default_overflow_handler(event->orig_overflow_handler); |
|---|
| 1100 | +} |
|---|
| 1101 | +#else |
|---|
| 1102 | +#define uses_default_overflow_handler(event) \ |
|---|
| 1103 | + is_default_overflow_handler(event) |
|---|
| 1104 | +#endif |
|---|
| 1105 | + |
|---|
| 1090 | 1106 | extern void |
|---|
| 1091 | 1107 | perf_event_header__init_id(struct perf_event_header *header, |
|---|
| 1092 | 1108 | struct perf_sample_data *data, |
|---|