All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Sam Ravnborg <sam@ravnborg.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Steven Rostedt <srostedt@redhat.com>, Ingo Molnar <mingo@elte.hu>,
	"David S. Miller" <davem@davemloft.net>,
	sparclinux <sparclinux@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] module: clean up initialization of variable
Date: Tue, 06 Jan 2009 01:34:50 +0000	[thread overview]
Message-ID: <200901061152.51782.rusty@rustcorp.com.au> (raw)
In-Reply-To: <alpine.DEB.1.10.0901051523370.25066@gandalf.stny.rr.com>

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.

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.

Thanks,
Rusty.

WARNING: multiple messages have this Message-ID (diff)
From: Rusty Russell <rusty@rustcorp.com.au>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Sam Ravnborg <sam@ravnborg.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Steven Rostedt <srostedt@redhat.com>, Ingo Molnar <mingo@elte.hu>,
	"David S. Miller" <davem@davemloft.net>,
	sparclinux <sparclinux@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] module: clean up initialization of variable
Date: Tue, 6 Jan 2009 11:52:50 +1030	[thread overview]
Message-ID: <200901061152.51782.rusty@rustcorp.com.au> (raw)
In-Reply-To: <alpine.DEB.1.10.0901051523370.25066@gandalf.stny.rr.com>

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.

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.

Thanks,
Rusty.

  parent reply	other threads:[~2009-01-06  1:34 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-05 18:19 ftrace breaks sparc64 build Sam Ravnborg
2009-01-05 18:19 ` Sam Ravnborg
2009-01-05 19:31 ` Steven Rostedt
2009-01-05 19:31   ` Steven Rostedt
2009-01-05 19:42   ` [PATCH] sparc: make proces_ver_nack a bit more readable Steven Rostedt
2009-01-05 19:42     ` Steven Rostedt
2009-01-05 19:46     ` Steven Rostedt
2009-01-05 19:46       ` Steven Rostedt
2009-01-05 19:56     ` Steven Rostedt
2009-01-05 19:56       ` Steven Rostedt
2009-01-05 20:07       ` Sam Ravnborg
2009-01-05 20:07         ` Sam Ravnborg
2009-01-05 20:08     ` Sam Ravnborg
2009-01-05 20:08       ` Sam Ravnborg
2009-01-06 18:23       ` David Miller
2009-01-06 18:23         ` David Miller
2009-01-05 19:54   ` ftrace breaks sparc64 build Sam Ravnborg
2009-01-05 19:54     ` Sam Ravnborg
2009-01-05 20:05     ` Steven Rostedt
2009-01-05 20:05       ` Steven Rostedt
2009-01-05 21:31       ` Sam Ravnborg
2009-01-05 21:31         ` Sam Ravnborg
2009-01-05 21:52         ` Steven Rostedt
2009-01-05 21:52           ` Steven Rostedt
2009-01-05 22:01           ` Sam Ravnborg
2009-01-05 22:01             ` Sam Ravnborg
2009-01-05 22:14             ` Steven Rostedt
2009-01-05 22:14               ` Steven Rostedt
2009-01-05 23:11               ` Heiko Carstens
2009-01-05 23:11                 ` Heiko Carstens
2009-01-06  2:07                 ` Steven Rostedt
2009-01-06  2:07                   ` Steven Rostedt
2009-01-06  9:36                   ` Heiko Carstens
2009-01-06  9:36                     ` Heiko Carstens
2009-01-06  4:30                 ` Steven Rostedt
2009-01-06  4:30                   ` Steven Rostedt
2009-01-06  9:45                   ` Heiko Carstens
2009-01-06  9:45                     ` Heiko Carstens
2009-01-06 18:32       ` David Miller
2009-01-06 18:32         ` David Miller
2009-01-06 18:52         ` Steven Rostedt
2009-01-06 18:52           ` Steven Rostedt
2009-01-06 19:01           ` David Miller
2009-01-06 19:01             ` David Miller
2009-01-06 19:52             ` Sam Ravnborg
2009-01-06 19:52               ` Sam Ravnborg
2009-01-06 20:02               ` David Miller
2009-01-06 20:02                 ` David Miller
2009-01-05 20:30     ` [PATCH] module: clean up initialization of variable Steven Rostedt
2009-01-05 20:30       ` Steven Rostedt
2009-01-05 22:59       ` Harvey Harrison
2009-01-05 22:59         ` Harvey Harrison
2009-01-06  1:22       ` Rusty Russell [this message]
2009-01-06  1:34         ` Rusty Russell
2009-01-06  2:02         ` Steven Rostedt
2009-01-06  2:02           ` Steven Rostedt
2009-01-05 19:48 ` ftrace breaks sparc64 build Al Viro
2009-01-05 19:48   ` Al Viro
2009-01-05 19:55   ` Sam Ravnborg
2009-01-05 19:55     ` Sam Ravnborg
2009-01-06  7:53     ` Jan Beulich
2009-01-06  7:53       ` Jan Beulich
2009-01-06 11:35       ` Al Viro
2009-01-06 11:35         ` Al Viro
2009-01-06 12:39         ` Jan Beulich
2009-01-06 12:39           ` Jan Beulich
2009-01-06 13:34         ` Sam Ravnborg
2009-01-06 13:34           ` Sam Ravnborg
2009-01-06 15:52           ` Al Viro
2009-01-06 15:52             ` Al Viro
2009-01-06 18:39           ` David Miller
2009-01-06 18:39             ` David Miller
2009-01-08  9:28         ` Jan Beulich
2009-01-08  9:28           ` Jan Beulich

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=200901061152.51782.rusty@rustcorp.com.au \
    --to=rusty@rustcorp.com.au \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    --cc=sam@ravnborg.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=srostedt@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.