Messages in this thread Patch in this message | | | Subject | Re: [PATCH] TRACING: Fix a copmile warning | From | Steven Rostedt <> | Date | Mon, 25 Jul 2011 14:32:27 -0400 |
| |
On Mon, 2011-07-18 at 17:40 +0800, stufever@gmail.com wrote: > From: Wang Shaoyan <wangshaoyan.pt@taobao.com> > > It's harmless but annyoing. > kernel/trace/trace_printk.c: In function 'module_trace_bprintk_format_notify': > kernel/trace/trace_printk.c:52: warning: 'fmt' may be used uninitialized in this function
I prefer not to add this patch. Fix gcc. Actually some gcc's do not warn on this, others do. Here's the code that confuses gcc:
tb_fmt = kmalloc(sizeof(*tb_fmt), GFP_KERNEL); if (tb_fmt) fmt = kmalloc(strlen(*iter) + 1, GFP_KERNEL); if (tb_fmt && fmt) { list_add_tail(&tb_fmt->list, &trace_bprintk_fmt_list); strcpy(fmt, *iter); tb_fmt->fmt = fmt; *iter = tb_fmt->fmt;
fmt will never be looked at if tb_fmt is NULL, and fmt is initialized if tb_fmt is not NULL.
-- Steve
> > Cc: Steven Rostedt <rostedt@goodmis.org> > Cc: Frederic Weisbecker <fweisbec@gmail.com> > Cc: Ingo Molnar <mingo@redhat.com> > Signed-off-by: Wang Shaoyan <wangshaoyan.pt@taobao.com> > > --- > kernel/trace/trace_printk.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/kernel/trace/trace_printk.c b/kernel/trace/trace_printk.c > index 1f06468..1a5fff8 100644 > --- a/kernel/trace/trace_printk.c > +++ b/kernel/trace/trace_printk.c > @@ -49,7 +49,7 @@ static > void hold_module_trace_bprintk_format(const char **start, const char **end) > { > const char **iter; > - char *fmt; > + char *fmt = NULL; > > mutex_lock(&btrace_mutex); > for (iter = start; iter < end; iter++) {
| |