tracing/kprobes: Cleanup strict_strtol() using code
authorMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Fri, 4 Feb 2011 12:51:53 +0000 (21:51 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 7 Feb 2011 11:13:36 +0000 (09:13 -0200)
Since strict_strtol() accepts minus digits started with '-', it doesn't
need to invert after converting.

Cc: 2nddept-manager@sdl.hitachi.co.jp
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <20110204125153.9507.49335.stgit@ltc236.sdl.hitachi.co.jp>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
kernel/trace/trace_kprobe.c

index 2dec9bcde8b495bd43d189204e2bc9099d5ec32f..2088893c049efc03dd0ece7486bf34fd5959914c 100644 (file)
@@ -767,16 +767,15 @@ static int __parse_probe_arg(char *arg, const struct fetch_type *t,
                }
                break;
        case '+':       /* deref memory */
+               arg++;  /* Skip '+', because strict_strtol() rejects it. */
        case '-':
                tmp = strchr(arg, '(');
                if (!tmp)
                        break;
                *tmp = '\0';
-               ret = strict_strtol(arg + 1, 0, &offset);
+               ret = strict_strtol(arg, 0, &offset);
                if (ret)
                        break;
-               if (arg[0] == '-')
-                       offset = -offset;
                arg = tmp + 1;
                tmp = strrchr(arg, ')');
                if (tmp) {