Re: does gcc gives a false warning in kernel/trace/trace_events_filter.c ?

Steven Rostedt
2012-09-06T17:31:18Z

On Thu, 2012-09-06 at 18:35 +0200, Toralf Förster wrote:

> I filed a bug report
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54495
> and got this answer :
>
> --- Comment #1 from Hans-Peter Nilsson <hp at gcc dot gnu.org> 2012-09-05 22:14:00 UTC ---
> But if the call to ftrace_function_filter_re sets re_cnt to 0, then ret indeed
> will be used uninitialized AFAICT. What am I missing?
>

That I think we are looking at two different code bases ;-)

I've been looking at what's been queued for 3.7 and not what's in
mainline. If you look at tip/master, or even linux-next, you'll find:

commit 92d8d4a8b0f "tracing/filter: Add missing initialization"

Which does:

static int __ftrace_function_set_filter(int filter, char *buf, int len,
struct function_filter_data *data)
{
- int i, re_cnt, ret;
+ int i, re_cnt, ret = -EINVAL;
int *reset;
char **re;

Thus, you were correct. This could have been marked urgent, but as it
isn't that big of a deal I just queued it for the next merge window.

-- Steve