tracing/kprobe: Fix NULL pointer deref check
authorMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Mon, 14 Feb 2011 05:48:07 +0000 (14:48 +0900)
committerIngo Molnar <mingo@elte.hu>
Mon, 14 Feb 2011 11:09:53 +0000 (12:09 +0100)
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 <acme@redhat.com>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: 2nddept-manager@sdl.hitachi.co.jp
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <20110214054807.8919.69740.stgit@ltc236.sdl.hitachi.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Reported-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
kernel/trace/trace_kprobe.c

index ccdc542022c341f8df04af1beaa66f0c1dda0759..8435b43b1782d5b455f80415452ac1e5dd1f6e0e 100644 (file)
@@ -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,