@@ -66,7 +66,8 @@ static const char * ops[] = { OPS };
66
66
C(INVALID_FILTER, "Meaningless filter expression"), \
67
67
C(IP_FIELD_ONLY, "Only 'ip' field is supported for function trace"), \
68
68
C(INVALID_VALUE, "Invalid value (did you forget quotes)?"), \
69
- C(NO_FILTER, "No filter found"),
69
+ C(ERRNO, "Error"), \
70
+ C(NO_FILTER, "No filter found")
70
71
71
72
#undef C
72
73
#define C (a , b ) FILT_ERR_##a
@@ -76,7 +77,7 @@ enum { ERRORS };
76
77
#undef C
77
78
#define C (a , b ) b
78
79
79
- static char * err_text [] = { ERRORS };
80
+ static const char * err_text [] = { ERRORS };
80
81
81
82
/* Called after a '!' character but "!=" and "!~" are not "not"s */
82
83
static bool is_not (const char * str )
@@ -947,8 +948,14 @@ static void append_filter_err(struct filter_parse_error *pe,
947
948
if (pe -> lasterr > 0 ) {
948
949
trace_seq_printf (s , "\n%*s" , pos , "^" );
949
950
trace_seq_printf (s , "\nparse_error: %s\n" , err_text [pe -> lasterr ]);
951
+ tracing_log_err ("event filter parse error" ,
952
+ filter -> filter_string , err_text ,
953
+ pe -> lasterr , pe -> lasterr_pos );
950
954
} else {
951
955
trace_seq_printf (s , "\nError: (%d)\n" , pe -> lasterr );
956
+ tracing_log_err ("event filter parse error" ,
957
+ filter -> filter_string , err_text ,
958
+ FILT_ERR_ERRNO , 0 );
952
959
}
953
960
trace_seq_putc (s , 0 );
954
961
buf = kmemdup_nul (s -> buffer , s -> seq .len , GFP_KERNEL );
0 commit comments