Subject: [PATCH -tip ] [BUGFIX] tracing/kprobe: Fix NULL pointer deref check

Add NULL check for avoiding NULL pointer deref.
This bug has been introduced by
1ff511e35ed87cc2ebade9e678e4a2fe39b6f9c5, which causes
a null pointer dereference bug when kprobe-tracer parses
an argument without type.

Signed-off-by: Masami Hiramatsu <[email protected]>
Reported-by: Arnaldo Carvalho de Melo <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Peter Zijlstra <[email protected]>
---

kernel/trace/trace_kprobe.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index ccdc542..8435b43 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -935,7 +935,7 @@ static int parse_probe_arg(char *arg, struct trace_probe *tp,
parg->offset = tp->size;
tp->size += parg->type->size;
ret = __parse_probe_arg(arg, parg->type, &parg->fetch, is_return);
- if (ret >= 0)
+ if (ret >= 0 && t != NULL)
ret = __parse_bitfield_probe_arg(t, parg->type, &parg->fetch);
if (ret >= 0) {
parg->fetch_size.fn = get_fetch_size_function(parg->type,


Subject: [tip:perf/core] tracing/kprobe: Fix NULL pointer deref check

Commit-ID: 0de4b34d466bae571b50f41c7296b85248205e35
Gitweb: http://git.kernel.org/tip/0de4b34d466bae571b50f41c7296b85248205e35
Author: Masami Hiramatsu <[email protected]>
AuthorDate: Mon, 14 Feb 2011 14:48:07 +0900
Committer: Ingo Molnar <[email protected]>
CommitDate: Mon, 14 Feb 2011 12:09:53 +0100

tracing/kprobe: Fix NULL pointer deref check

Add NULL check for avoiding NULL pointer deref.
This bug has been introduced by:

1ff511e35ed8: tracing/kprobes: Add bitfield type

which causes a null pointer dereference bug when kprobe-tracer
parses an argument without type.

Reported-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: Masami Hiramatsu <[email protected]>
Cc: [email protected]
Cc: Peter Zijlstra <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Reported-by: Arnaldo Carvalho de Melo <[email protected]>
---
kernel/trace/trace_kprobe.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index ccdc542..8435b43 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -935,7 +935,7 @@ static int parse_probe_arg(char *arg, struct trace_probe *tp,
parg->offset = tp->size;
tp->size += parg->type->size;
ret = __parse_probe_arg(arg, parg->type, &parg->fetch, is_return);
- if (ret >= 0)
+ if (ret >= 0 && t != NULL)
ret = __parse_bitfield_probe_arg(t, parg->type, &parg->fetch);
if (ret >= 0) {
parg->fetch_size.fn = get_fetch_size_function(parg->type,