From 72b218b56c0da3a462b54a12dbf2341a3dd23ae0 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 26 Mar 2009 11:03:29 -0400 Subject: [PATCH] --- yaml --- r: 146055 b: refs/heads/master c: 89ec0dee9eba6275d47be0b878cf5f6d5c2fb6eb h: refs/heads/master i: 146053: de370eb5fb14d05afec9d77124c4e9ac0beaaf7a 146051: 426758c693d8dbb92d14587ebb1eb9783ff1f56d 146047: f3b31eaaa65937f132efd4b8ca1f00bfe0566c93 v: v3 --- [refs] | 2 +- trunk/include/linux/ftrace_event.h | 5 ++++- trunk/kernel/trace/trace_events.c | 2 +- trunk/kernel/trace/trace_output.c | 2 ++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 86acb1a9f649..af1d7e9b1c61 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9be24414aad047dcf9d8d2a9a929321536c7ebec +refs/heads/master: 89ec0dee9eba6275d47be0b878cf5f6d5c2fb6eb diff --git a/trunk/include/linux/ftrace_event.h b/trunk/include/linux/ftrace_event.h index 2a4a40749911..07e0a6d64a24 100644 --- a/trunk/include/linux/ftrace_event.h +++ b/trunk/include/linux/ftrace_event.h @@ -16,13 +16,16 @@ struct dentry; * bash-15816 [01] 235.197585: idle_cpu <- irq_enter */ struct trace_entry { - int type; + unsigned short type; unsigned char flags; unsigned char preempt_count; int pid; int tgid; }; +#define FTRACE_MAX_EVENT \ + ((1 << (sizeof(((struct trace_entry *)0)->type) * 8)) - 1) + /* * Trace iterator - used by printout routines who present trace * results to users and which routines might sleep, etc: diff --git a/trunk/kernel/trace/trace_events.c b/trunk/kernel/trace/trace_events.c index 5d6e879cf875..9887131afa03 100644 --- a/trunk/kernel/trace/trace_events.c +++ b/trunk/kernel/trace/trace_events.c @@ -398,7 +398,7 @@ static int trace_write_header(struct trace_seq *s) "\tfield:%s %s;\toffset:%zu;\tsize:%zu;\n" "\tfield:%s %s;\toffset:%zu;\tsize:%zu;\n" "\n", - FIELD(int, type), + FIELD(unsigned short, type), FIELD(unsigned char, flags), FIELD(unsigned char, preempt_count), FIELD(int, pid), diff --git a/trunk/kernel/trace/trace_output.c b/trunk/kernel/trace/trace_output.c index 83a8abb9640f..06997e75114b 100644 --- a/trunk/kernel/trace/trace_output.c +++ b/trunk/kernel/trace/trace_output.c @@ -537,6 +537,8 @@ int register_ftrace_event(struct trace_event *event) out: mutex_unlock(&trace_event_mutex); + WARN_ON_ONCE(next_event_type > FTRACE_MAX_EVENT); + return ret; } EXPORT_SYMBOL_GPL(register_ftrace_event);