public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kernel: acctc.c: Fixed else if not generally userful after a break or return warning.
@ 2014-09-25  3:13 Elshad Mustafayev
  2014-09-25  3:22 ` Al Viro
  0 siblings, 1 reply; 6+ messages in thread
From: Elshad Mustafayev @ 2014-09-25  3:13 UTC (permalink / raw)
  To: viro; +Cc: linux-kernel

Fixed a coding style issue.

Signed-off-by: Elshad Mustafayev <elshadimo@gmail.com>
---
 kernel/acct.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/acct.c b/kernel/acct.c
index b4c667d..ed4cf00 100644
--- a/kernel/acct.c
+++ b/kernel/acct.c
@@ -376,9 +376,8 @@ static comp2_t encode_comp2_t(u64 value)
 	if (exp > MAXEXP2) {
 		/* Overflow. Return largest representable number instead. */
 		return (1ul << (MANTSIZE2+EXPSIZE2-1)) - 1;
-	} else {
-		return (value & (MAXFRACT2>>1)) | (exp << (MANTSIZE2-1));
 	}
+	return (value & (MAXFRACT2>>1)) | (exp << (MANTSIZE2-1));
 }
 #endif
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] kernel: acctc.c: Fixed else if not generally userful after a break or return warning.
  2014-09-25  3:13 [PATCH] kernel: acctc.c: Fixed else if not generally userful after a break or return warning Elshad Mustafayev
@ 2014-09-25  3:22 ` Al Viro
  0 siblings, 0 replies; 6+ messages in thread
From: Al Viro @ 2014-09-25  3:22 UTC (permalink / raw)
  To: Elshad Mustafayev; +Cc: linux-kernel

On Wed, Sep 24, 2014 at 11:13:45PM -0400, Elshad Mustafayev wrote:
> Fixed a coding style issue.
> 
> Signed-off-by: Elshad Mustafayev <elshadimo@gmail.com>
> ---
>  kernel/acct.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/kernel/acct.c b/kernel/acct.c
> index b4c667d..ed4cf00 100644
> --- a/kernel/acct.c
> +++ b/kernel/acct.c
> @@ -376,9 +376,8 @@ static comp2_t encode_comp2_t(u64 value)
>  	if (exp > MAXEXP2) {
>  		/* Overflow. Return largest representable number instead. */
>  		return (1ul << (MANTSIZE2+EXPSIZE2-1)) - 1;
> -	} else {
> -		return (value & (MAXFRACT2>>1)) | (exp << (MANTSIZE2-1));
>  	}
> +	return (value & (MAXFRACT2>>1)) | (exp << (MANTSIZE2-1));

Just what makes the replacement easier to follow?
	if (foo)
		return bar;
	else
		return baz;
is no less idiomatic than
	if (foo)
		return bar;
	return baz;

Al, really annoyed by how the words "coding style issue" are getting used as
a magic incantation...

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] kernel: acctc.c: Fixed else if not generally userful after a break or return warning
       [not found] <E1XX0bN-00032o-0x@feisty.vs19.net>
@ 2014-09-25  4:31 ` Joe Perches
       [not found]   ` <CAAm9=9QeO_VtdY+fJ5JbrBhN52z=JUeU09Nh3Mp04QWf+Qyygw@mail.gmail.com>
  2014-09-25  5:03   ` [PATCH] checkpatch: Add exception to return then else test Joe Perches
  0 siblings, 2 replies; 6+ messages in thread
From: Joe Perches @ 2014-09-25  4:31 UTC (permalink / raw)
  To: Al Viro; +Cc: Elshad Mustafayev, LKML

On Wed, Sep 24, 2014 at 11:13:45PM -0400, Elshad Mustafayev wrote:
> > Fixed a coding style issue.
[]
> > diff --git a/kernel/acct.c b/kernel/acct.c
[]
> > @@ -376,9 +376,8 @@ static comp2_t encode_comp2_t(u64 value)
> >  	if (exp > MAXEXP2) {
> >  		/* Overflow. Return largest representable number instead. */
> >  		return (1ul << (MANTSIZE2+EXPSIZE2-1)) - 1;
> > -	} else {
> > -		return (value & (MAXFRACT2>>1)) | (exp << (MANTSIZE2-1));
> >  	}
> > +	return (value & (MAXFRACT2>>1)) | (exp << (MANTSIZE2-1));
> 
> Just what makes the replacement easier to follow?
> 	if (foo)
> 		return bar;
> 	else
> 		return baz;
> is no less idiomatic than
> 	if (foo)
> 		return bar;
> 	return baz;
> 
> Al, really annoyed by how the words "coding style issue" are getting used as
> a magic incantation...

I agree.

I'll see about updating checkpatch to avoid warning on

	if (foo)
		return bar;
	else
		return baz;



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] kernel: acctc.c: Fixed else if not generally userful after a break or return warning
       [not found]   ` <CAAm9=9QeO_VtdY+fJ5JbrBhN52z=JUeU09Nh3Mp04QWf+Qyygw@mail.gmail.com>
@ 2014-09-25  5:00     ` Al Viro
  2014-09-25  5:05       ` Joe Perches
  0 siblings, 1 reply; 6+ messages in thread
From: Al Viro @ 2014-09-25  5:00 UTC (permalink / raw)
  To: Elshad Mustafayev; +Cc: Joe Perches, linux-kernel

On Thu, Sep 25, 2014 at 12:34:11AM -0400, Elshad Mustafayev wrote:
> I am sorry if I disturbed you. I just follow the steps in kernel newbies to
> get me in kernel development.

It's not you, it's checkpatch.pl plus the fairly common tendency to give
that thing a lot more respect than it deserves...

Basically, it's OK as a tool that draws ones attention to a subset of
code that might or might not be worth looking at; it gives both false
positives and false negatives and as long as there's not too much of those,
it's useful.  Provided that it does *not* replace one's taste.  I.e. "hey,
it points to these lines; let's take a look, some of those might be
worth some attention", rather than "The Most Holy Oracle Has Spoken;
Do What It Says".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] checkpatch: Add exception to return then else test
  2014-09-25  4:31 ` [PATCH] kernel: acctc.c: Fixed else if not generally userful after a break or return warning Joe Perches
       [not found]   ` <CAAm9=9QeO_VtdY+fJ5JbrBhN52z=JUeU09Nh3Mp04QWf+Qyygw@mail.gmail.com>
@ 2014-09-25  5:03   ` Joe Perches
  1 sibling, 0 replies; 6+ messages in thread
From: Joe Perches @ 2014-09-25  5:03 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Elshad Mustafayev, LKML, Al Viro, Andy Whitcroft

Add an exception to the return before else warning
when the line following it is also a return like:

	if (foo)
		return bar;
	else
		return baz;

This form of a test then return is at least as readable as

	if (foo)
		return bar;
	return baz;

so don't emit a warning on the first form.

Signed-off-by: Joe Perches <joe@perches.com>
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
---
> > Just what makes the replacement easier to follow?
> > 	if (foo)
> > 		return bar;
> > 	else
> > 		return baz;
> > is no less idiomatic than
> > 	if (foo)
> > 		return bar;
> > 	return baz;
> > 
> > Al, really annoyed by how the words "coding style issue" are getting used as
> > a magic incantation...
> 
> I agree.
> 
> I'll see about updating checkpatch to avoid warning on it

 scripts/checkpatch.pl | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 74bba23..52a223e 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2641,10 +2641,14 @@ sub process {
 		next if ($realfile !~ /\.(h|c)$/);
 
 # check indentation of any line with a bare else
+# (but not if it is a multiple line "if (foo) return bar; else return baz;")
 # if the previous line is a break or return and is indented 1 tab more...
 		if ($sline =~ /^\+([\t]+)(?:}[ \t]*)?else(?:[ \t]*{)?\s*$/) {
 			my $tabs = length($1) + 1;
-			if ($prevline =~ /^\+\t{$tabs,$tabs}(?:break|return)\b/) {
+			if ($prevline =~ /^\+\t{$tabs,$tabs}break\b/ ||
+			    ($prevline =~ /^\+\t{$tabs,$tabs}return\b/ &&
+			     defined $lines[$linenr] &&
+			     $lines[$linenr] !~ /^[ \+]\t{$tabs,$tabs}return/)) {
 				WARN("UNNECESSARY_ELSE",
 				     "else is not generally useful after a break or return\n" . $hereprev);
 			}



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] kernel: acctc.c: Fixed else if not generally userful after a break or return warning
  2014-09-25  5:00     ` Al Viro
@ 2014-09-25  5:05       ` Joe Perches
  0 siblings, 0 replies; 6+ messages in thread
From: Joe Perches @ 2014-09-25  5:05 UTC (permalink / raw)
  To: Al Viro; +Cc: Elshad Mustafayev, linux-kernel

On Thu, 2014-09-25 at 06:00 +0100, Al Viro wrote:
> It's not you, it's checkpatch.pl plus the fairly common tendency to give
> that thing a lot more respect than it deserves...
> 
> Basically, it's OK as a tool that draws ones attention to a subset of
> code that might or might not be worth looking at; it gives both false
> positives and false negatives and as long as there's not too much of those,
> it's useful.  Provided that it does *not* replace one's taste.  I.e. "hey,
> it points to these lines; let's take a look, some of those might be
> worth some attention", rather than "The Most Holy Oracle Has Spoken;
> Do What It Says".

Just so.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-09-25  5:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1XX0bN-00032o-0x@feisty.vs19.net>
2014-09-25  4:31 ` [PATCH] kernel: acctc.c: Fixed else if not generally userful after a break or return warning Joe Perches
     [not found]   ` <CAAm9=9QeO_VtdY+fJ5JbrBhN52z=JUeU09Nh3Mp04QWf+Qyygw@mail.gmail.com>
2014-09-25  5:00     ` Al Viro
2014-09-25  5:05       ` Joe Perches
2014-09-25  5:03   ` [PATCH] checkpatch: Add exception to return then else test Joe Perches
2014-09-25  3:13 [PATCH] kernel: acctc.c: Fixed else if not generally userful after a break or return warning Elshad Mustafayev
2014-09-25  3:22 ` Al Viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox