From: Masami Hiramatsu <mhiramat@redhat.com>
To: rostedt@goodmis.org
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
Ingo Molnar <mingo@elte.hu>, lkml <linux-kernel@vger.kernel.org>,
systemtap <systemtap@sources.redhat.com>,
DLE <dle-develop@lists.sourceforge.net>,
Thomas Gleixner <tglx@linutronix.de>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Mike Galbraith <efault@gmx.de>, Paul Mackerras <paulus@samba.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Christoph Hellwig <hch@infradead.org>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Jim Keniston <jkenisto@us.ibm.com>,
"Frank Ch. Eigler" <fche@redhat.com>
Subject: Re: [PATCH tracing/kprobes v2 2/5] tracing/kprobes: Avoid field name confliction
Date: Mon, 05 Oct 2009 21:07:20 -0400 [thread overview]
Message-ID: <4ACA9848.7060200@redhat.com> (raw)
In-Reply-To: <1254788218.13160.198.camel@gandalf.stny.rr.com>
Steven Rostedt wrote:
> On Fri, 2009-10-02 at 17:48 -0400, Masami Hiramatsu wrote:
>> Check whether the argument name is conflict with other field names.
>>
>> Changes in v2:
>> - Add common_lock_depth to reserved name list.
>>
>> Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
>> Cc: Frederic Weisbecker <fweisbec@gmail.com>
>> Cc: Ingo Molnar <mingo@elte.hu>
>> Cc: Thomas Gleixner <tglx@linutronix.de>
>> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
>> Cc: Steven Rostedt <rostedt@goodmis.org>
>> Cc: Mike Galbraith <efault@gmx.de>
>> Cc: Paul Mackerras <paulus@samba.org>
>> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
>> Cc: Christoph Hellwig <hch@infradead.org>
>> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
>> Cc: Jim Keniston <jkenisto@us.ibm.com>
>> Cc: Frank Ch. Eigler <fche@redhat.com>
>> ---
>>
>> kernel/trace/trace_kprobe.c | 65 +++++++++++++++++++++++++++++++++++--------
>> 1 files changed, 53 insertions(+), 12 deletions(-)
>>
>> diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
>> index f63ead0..eb1fa0f 100644
>> --- a/kernel/trace/trace_kprobe.c
>> +++ b/kernel/trace/trace_kprobe.c
>> @@ -38,6 +38,25 @@
>> #define MAX_EVENT_NAME_LEN 64
>> #define KPROBE_EVENT_SYSTEM "kprobes"
>>
>> +/* Reserved field names */
>> +#define FIELD_STRING_IP "ip"
>> +#define FIELD_STRING_NARGS "nargs"
>> +#define FIELD_STRING_RETIP "ret_ip"
>> +#define FIELD_STRING_FUNC "func"
>> +
>> +const char *reserved_field_names[] = {
>> + "common_type",
>> + "common_flags",
>> + "common_preempt_count",
>> + "common_pid",
>> + "common_tgid",
>> + "common_lock_depth",
>> + FIELD_STRING_IP,
>> + FIELD_STRING_NARGS,
>> + FIELD_STRING_RETIP,
>> + FIELD_STRING_FUNC,
>> +};
>> +
>> /* currently, trace_kprobe only supports X86. */
>>
>> struct fetch_func {
>> @@ -551,6 +570,20 @@ static int parse_probe_arg(char *arg, struct fetch_func *ff, int is_return)
>> return ret;
>> }
>>
>> +/* Return 1 if name is reserved or already used by another argument */
>> +static int conflict_field_name(const char *name,
>> + struct probe_arg *args, int narg)
>> +{
>> + int i;
>> + for (i = 0; i < ARRAY_SIZE(reserved_field_names); i++)
>> + if (!strcmp(reserved_field_names[i], name))
>> + return 1;
>> + for (i = 0; i < narg; i++)
>> + if (!strcmp(args[i].name, name))
>> + return 1;
>
> Just a coding preference, but still, I've seen too many mistakes (made
> them myself too).
>
> if (strcmp(args[i].name, name) == 0)
>
> Looks better as a match then
>
> if (!strcmp(args[i].name, name))
>
> That stands out to me as a miss match. But this is still just a
> preference and not something to make me argue the patch.
Agreed, !strcmp() pattern would better be warned by checkpatch.pl :-)
I'll fix that.
Thank you,
--
Masami Hiramatsu
Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division
e-mail: mhiramat@redhat.com
next prev parent reply other threads:[~2009-10-06 1:06 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-02 21:48 [PATCH tracing/kprobes v2 0/5] tracing/kprobes, perf: perf probe support take 2 Masami Hiramatsu
2009-10-02 21:48 ` [PATCH tracing/kprobes v2 1/5] tracing/kprobes: Rename special variables syntax Masami Hiramatsu
2009-10-03 1:54 ` Frederic Weisbecker
2009-10-04 5:21 ` Masami Hiramatsu
2009-10-05 16:59 ` Masami Hiramatsu
2009-10-05 19:26 ` Frederic Weisbecker
2009-10-05 21:05 ` Masami Hiramatsu
2009-10-05 21:11 ` Frederic Weisbecker
2009-10-06 0:12 ` Steven Rostedt
2009-10-06 14:23 ` Masami Hiramatsu
2009-10-06 22:47 ` Frederic Weisbecker
2009-10-07 1:13 ` Masami Hiramatsu
2009-10-07 16:28 ` Frederic Weisbecker
2009-10-07 0:15 ` Steven Rostedt
2009-10-07 2:57 ` Masami Hiramatsu
2009-10-06 22:42 ` Frederic Weisbecker
2009-10-05 19:18 ` Frederic Weisbecker
2009-10-05 19:38 ` Frederic Weisbecker
2009-10-05 20:18 ` Masami Hiramatsu
2009-10-05 20:58 ` Frederic Weisbecker
2009-10-05 21:11 ` Masami Hiramatsu
2009-10-05 21:21 ` Frederic Weisbecker
2009-10-05 21:34 ` Masami Hiramatsu
2009-10-05 21:55 ` Frederic Weisbecker
2009-10-05 22:09 ` Frederic Weisbecker
2009-10-05 22:38 ` Masami Hiramatsu
2009-10-05 22:42 ` Masami Hiramatsu
2009-10-02 21:48 ` [PATCH tracing/kprobes v2 2/5] tracing/kprobes: Avoid field name confliction Masami Hiramatsu
2009-10-06 0:16 ` Steven Rostedt
2009-10-06 1:07 ` Masami Hiramatsu [this message]
2009-10-02 21:48 ` [PATCH tracing/kprobes v2 3/5] tracing/kprobes: Rename fixed field name Masami Hiramatsu
2009-10-02 21:49 ` [PATCH tracing/kprobes v2 4/5] perf: Add perf probe subcommand for kprobe-event setup helper Masami Hiramatsu
2009-10-06 0:29 ` Steven Rostedt
2009-10-06 0:57 ` Masami Hiramatsu
2009-10-06 1:20 ` Steven Rostedt
2009-10-06 1:43 ` Arnaldo Carvalho de Melo
2009-10-06 9:03 ` Peter Zijlstra
2009-10-07 3:22 ` Masami Hiramatsu
2009-10-02 21:49 ` [PATCH tracing/kprobes v2 5/5] perf: kprobe command supports without libdwarf Masami Hiramatsu
2009-10-03 1:25 ` [PATCH tracing/kprobes v2 0/5] tracing/kprobes, perf: perf probe support take 2 Frederic Weisbecker
2009-10-05 14:54 ` Frank Ch. Eigler
2009-10-05 15:10 ` Masami Hiramatsu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4ACA9848.7060200@redhat.com \
--to=mhiramat@redhat.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=ananth@in.ibm.com \
--cc=dle-develop@lists.sourceforge.net \
--cc=efault@gmx.de \
--cc=fche@redhat.com \
--cc=fweisbec@gmail.com \
--cc=hch@infradead.org \
--cc=jkenisto@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=rostedt@goodmis.org \
--cc=systemtap@sources.redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).