diff options
Diffstat (limited to 'kernel/trace/trace_eprobe.c')
| -rw-r--r-- | kernel/trace/trace_eprobe.c | 16 | 
1 files changed, 7 insertions, 9 deletions
| diff --git a/kernel/trace/trace_eprobe.c b/kernel/trace/trace_eprobe.c index 191db32dec46..541aa13581b9 100644 --- a/kernel/trace/trace_eprobe.c +++ b/kernel/trace/trace_eprobe.c @@ -242,7 +242,6 @@ static int trace_eprobe_tp_arg_update(struct trace_eprobe *ep, int i)  static int eprobe_event_define_fields(struct trace_event_call *event_call)  { -	int ret;  	struct eprobe_trace_entry_head field;  	struct trace_probe *tp; @@ -250,8 +249,6 @@ static int eprobe_event_define_fields(struct trace_event_call *event_call)  	if (WARN_ON_ONCE(!tp))  		return -ENOENT; -	DEFINE_FIELD(unsigned int, type, FIELD_STRING_TYPE, 0); -  	return traceprobe_define_arg_fields(event_call, sizeof(field), tp);  } @@ -270,7 +267,9 @@ print_eprobe_event(struct trace_iterator *iter, int flags,  	struct trace_event_call *pevent;  	struct trace_event *probed_event;  	struct trace_seq *s = &iter->seq; +	struct trace_eprobe *ep;  	struct trace_probe *tp; +	unsigned int type;  	field = (struct eprobe_trace_entry_head *)iter->ent;  	tp = trace_probe_primary_from_call( @@ -278,15 +277,18 @@ print_eprobe_event(struct trace_iterator *iter, int flags,  	if (WARN_ON_ONCE(!tp))  		goto out; +	ep = container_of(tp, struct trace_eprobe, tp); +	type = ep->event->event.type; +  	trace_seq_printf(s, "%s: (", trace_probe_name(tp)); -	probed_event = ftrace_find_event(field->type); +	probed_event = ftrace_find_event(type);  	if (probed_event) {  		pevent = container_of(probed_event, struct trace_event_call, event);  		trace_seq_printf(s, "%s.%s", pevent->class->system,  				 trace_event_name(pevent));  	} else { -		trace_seq_printf(s, "%u", field->type); +		trace_seq_printf(s, "%u", type);  	}  	trace_seq_putc(s, ')'); @@ -498,10 +500,6 @@ __eprobe_trace_func(struct eprobe_data *edata, void *rec)  		return;  	entry = fbuffer.entry = ring_buffer_event_data(fbuffer.event); -	if (edata->ep->event) -		entry->type = edata->ep->event->event.type; -	else -		entry->type = 0;  	store_trace_args(&entry[1], &edata->ep->tp, rec, sizeof(*entry), dsize);  	trace_event_buffer_commit(&fbuffer); |