Re: ftrace breaks sparc64 build

Sam Ravnborg
2009-01-05T19:52:52Z

Hi Steven.

>
> Honestly, that code is a little obfuscated, and would be better to write
> it as:
>
> if (vp->major == 0 && vp->minor=0)
> return ldc_abort(lp);
>
> vap = find_by_major(vp->major);
> if (!vap)
> return ldc_abort(lp);
>
> [...]
>
> This is much easier to read and we can remove the else statement
> altogether. And I bet the warning will go away if we did it this way.

Fully ageed on the readability.
I happen to trigger this as an error in the sparc code.
But I see the same warning also in generic code.

>From kernel/module.c:
/* Suck in entire file: we'll want most of it. */
/* vmalloc barfs on "unusual" numbers. Check here */
if (len > 64 * 1024 * 1024 || (hdr = vmalloc(len)) == NULL)
return ERR_PTR(-ENOMEM);

This gives following warning:
kernel/module.c: In function `load_module':
kernel/module.c:1842: warning: 'hdr' might be used uninitialized in this function

So this is not a pattern we seen only in sparc code and I wonder if this is
the first time it is brought up?

I can fix up the cases in sparc - no problem.
But it was a suprise to me _why_ these warnings started to creep
up and then it break my build.

Sam