[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.1.10.0901052059390.16409@gandalf.stny.rr.com>
Date: Mon, 5 Jan 2009 21:02:07 -0500 (EST)
From: Steven Rostedt <rostedt@...dmis.org>
To: Rusty Russell <rusty@...tcorp.com.au>
cc: Sam Ravnborg <sam@...nborg.org>,
LKML <linux-kernel@...r.kernel.org>,
Steven Rostedt <srostedt@...hat.com>,
Ingo Molnar <mingo@...e.hu>,
"David S. Miller" <davem@...emloft.net>,
sparclinux <sparclinux@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH] module: clean up initialization of variable
On Tue, 6 Jan 2009, Rusty Russell wrote:
> On Tuesday 06 January 2009 07:00:25 Steven Rostedt wrote:
> > This is sloppy initialization because it initializes, not only in an
> > if condition, but also as the second part of a complex conditional.
> >
> > This patch makes the code a bit easier to read.
> ...
> > /* 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)
> > + if (len > 64 * 1024 * 1024)
> > + return ERR_PTR(-ENOMEM);
> > + hdr = vmalloc(len);
> > + if (hdr == NULL)
> > return ERR_PTR(-ENOMEM);
> > if (copy_from_user(hdr, umod, len) != 0) {
> > err = -EFAULT;
>
> This line is not accidental nor casually written: the two statements
> are deliberately entwined. It is a succint complaint against the
> vagaries of vmalloc.
>
> So this patch is a messup, not a cleanup.
It is not that much of a messup. I did not realize that the code was
a political protest against the horrors of vmalloc ;-)
>
> But it's really upset me because it is lazy and timid: and too much
> kernel code is becoming mired in such scars. Instead of "how do I kill
> this warning and get it in the merge window" you should be thinking "how
> do I make the kernel better", and "I wonder if vmalloc still has this
> problem"...
>
> And I so look forward to the warm fuzzies I get when applying a real
> cleanup patch.
Well, I'm not about to go solve the vmalloc issues (not today anyway). But
I'll go and see if I can get the branch tracer macro to work on all
versions of gcc.
Thanks,
-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists