|
@@ -800,47 +800,6 @@ filter_check_discard(struct ftrace_event_call *call, void *rec,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-#define DEFINE_COMPARISON_PRED(type) \
|
|
|
-static int filter_pred_##type(struct filter_pred *pred, void *event, \
|
|
|
- int val1, int val2) \
|
|
|
-{ \
|
|
|
- type *addr = (type *)(event + pred->offset); \
|
|
|
- type val = (type)pred->val; \
|
|
|
- int match = 0; \
|
|
|
- \
|
|
|
- switch (pred->op) { \
|
|
|
- case OP_LT: \
|
|
|
- match = (*addr < val); \
|
|
|
- break; \
|
|
|
- case OP_LE: \
|
|
|
- match = (*addr <= val); \
|
|
|
- break; \
|
|
|
- case OP_GT: \
|
|
|
- match = (*addr > val); \
|
|
|
- break; \
|
|
|
- case OP_GE: \
|
|
|
- match = (*addr >= val); \
|
|
|
- break; \
|
|
|
- default: \
|
|
|
- break; \
|
|
|
- } \
|
|
|
- \
|
|
|
- return match; \
|
|
|
-}
|
|
|
-
|
|
|
-#define DEFINE_EQUALITY_PRED(size) \
|
|
|
-static int filter_pred_##size(struct filter_pred *pred, void *event, \
|
|
|
- int val1, int val2) \
|
|
|
-{ \
|
|
|
- u##size *addr = (u##size *)(event + pred->offset); \
|
|
|
- u##size val = (u##size)pred->val; \
|
|
|
- int match; \
|
|
|
- \
|
|
|
- match = (val == *addr) ^ pred->not; \
|
|
|
- \
|
|
|
- return match; \
|
|
|
-}
|
|
|
-
|
|
|
extern struct mutex event_mutex;
|
|
|
extern struct list_head ftrace_events;
|
|
|
|