aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2010-06-03 17:34:09 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2010-06-08 17:51:32 -0400
commitb9b76dfaac6fa2c289ee8a005be637afd2da7e2f (patch)
treef6577a50c16238b480f4e3a4820ed25f8eb73e85
parent58cc1a9e3b11a84e66c4d3a4cc9073f2cb0ecabb (diff)
tracing: Fix null pointer deref with SEND_SIG_FORCED
BUG: unable to handle kernel NULL pointer dereference at 0000000000000006 IP: [<ffffffff8107bd37>] ftrace_raw_event_signal_generate+0x87/0x140 TP_STORE_SIGINFO() forgets about SEND_SIG_FORCED, fix. We should probably export is_si_special() and change TP_STORE_SIGINFO() to use it in the longer term. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Acked-by: Roland McGrath <roland@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jason Baron <jbaron@redhat.com> Cc: Masami Hiramatsu <mhiramat@redhat.com> Cc: 2.6.33.x-2.6.34.x <stable@kernel.org> LKML-Reference: <20100603213409.GA8307@redhat.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
-rw-r--r--include/trace/events/signal.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/trace/events/signal.h b/include/trace/events/signal.h
index 814566c99d29..17df43464df0 100644
--- a/include/trace/events/signal.h
+++ b/include/trace/events/signal.h
@@ -10,7 +10,8 @@
10 10
11#define TP_STORE_SIGINFO(__entry, info) \ 11#define TP_STORE_SIGINFO(__entry, info) \
12 do { \ 12 do { \
13 if (info == SEND_SIG_NOINFO) { \ 13 if (info == SEND_SIG_NOINFO || \
14 info == SEND_SIG_FORCED) { \
14 __entry->errno = 0; \ 15 __entry->errno = 0; \
15 __entry->code = SI_USER; \ 16 __entry->code = SI_USER; \
16 } else if (info == SEND_SIG_PRIV) { \ 17 } else if (info == SEND_SIG_PRIV) { \