* [PATCH 07/10] net: fix returning void-valued expression warnings
@ 2008-04-30 22:03 Harvey Harrison
2008-04-30 22:08 ` David Miller
2008-04-30 23:31 ` Alan Cox
0 siblings, 2 replies; 6+ messages in thread
From: Harvey Harrison @ 2008-04-30 22:03 UTC (permalink / raw)
To: Andrew Morton; +Cc: David Miller, Jeff Garzik, LKML
drivers/net/8390.c:37:2: warning: returning void-valued expression
drivers/net/bnx2.c:1635:3: warning: returning void-valued expression
drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression
net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression
net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression
net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression
net/sysctl_net.c:85:2: warning: returning void-valued expression
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
---
drivers/net/8390.c | 2 +-
drivers/net/bnx2.c | 6 ++++--
drivers/net/xen-netfront.c | 2 +-
net/ipv4/tcp_hybla.c | 6 ++++--
net/ipv4/tcp_vegas.c | 6 ++++--
net/ipv4/tcp_veno.c | 6 ++++--
net/sysctl_net.c | 2 +-
7 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/drivers/net/8390.c b/drivers/net/8390.c
index a499e86..dc5d258 100644
--- a/drivers/net/8390.c
+++ b/drivers/net/8390.c
@@ -34,7 +34,7 @@ struct net_device *__alloc_ei_netdev(int size)
void NS8390_init(struct net_device *dev, int startp)
{
- return __NS8390_init(dev, startp);
+ __NS8390_init(dev, startp);
}
EXPORT_SYMBOL(ei_open);
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 15853be..8613879 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -1631,8 +1631,10 @@ bnx2_set_default_remote_link(struct bnx2 *bp)
static void
bnx2_set_default_link(struct bnx2 *bp)
{
- if (bp->phy_flags & BNX2_PHY_FLAG_REMOTE_PHY_CAP)
- return bnx2_set_default_remote_link(bp);
+ if (bp->phy_flags & BNX2_PHY_FLAG_REMOTE_PHY_CAP) {
+ bnx2_set_default_remote_link(bp);
+ return;
+ }
bp->autoneg = AUTONEG_SPEED | AUTONEG_FLOW_CTRL;
bp->req_line_speed = 0;
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index e62018a..8bddff1 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1803,7 +1803,7 @@ static void __exit netif_exit(void)
if (is_initial_xendomain())
return;
- return xenbus_unregister_driver(&netfront);
+ xenbus_unregister_driver(&netfront);
}
module_exit(netif_exit);
diff --git a/net/ipv4/tcp_hybla.c b/net/ipv4/tcp_hybla.c
index 44618b6..bfcbd14 100644
--- a/net/ipv4/tcp_hybla.c
+++ b/net/ipv4/tcp_hybla.c
@@ -101,8 +101,10 @@ static void hybla_cong_avoid(struct sock *sk, u32 ack, u32 in_flight)
if (!tcp_is_cwnd_limited(sk, in_flight))
return;
- if (!ca->hybla_en)
- return tcp_reno_cong_avoid(sk, ack, in_flight);
+ if (!ca->hybla_en) {
+ tcp_reno_cong_avoid(sk, ack, in_flight);
+ return;
+ }
if (ca->rho == 0)
hybla_recalc_param(sk);
diff --git a/net/ipv4/tcp_vegas.c b/net/ipv4/tcp_vegas.c
index 0e1a8c9..14504da 100644
--- a/net/ipv4/tcp_vegas.c
+++ b/net/ipv4/tcp_vegas.c
@@ -167,8 +167,10 @@ static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, u32 in_flight)
struct tcp_sock *tp = tcp_sk(sk);
struct vegas *vegas = inet_csk_ca(sk);
- if (!vegas->doing_vegas_now)
- return tcp_reno_cong_avoid(sk, ack, in_flight);
+ if (!vegas->doing_vegas_now) {
+ tcp_reno_cong_avoid(sk, ack, in_flight);
+ return;
+ }
/* The key players are v_beg_snd_una and v_beg_snd_nxt.
*
diff --git a/net/ipv4/tcp_veno.c b/net/ipv4/tcp_veno.c
index 2bf618a..d08b2e8 100644
--- a/net/ipv4/tcp_veno.c
+++ b/net/ipv4/tcp_veno.c
@@ -119,8 +119,10 @@ static void tcp_veno_cong_avoid(struct sock *sk, u32 ack, u32 in_flight)
struct tcp_sock *tp = tcp_sk(sk);
struct veno *veno = inet_csk_ca(sk);
- if (!veno->doing_veno_now)
- return tcp_reno_cong_avoid(sk, ack, in_flight);
+ if (!veno->doing_veno_now) {
+ tcp_reno_cong_avoid(sk, ack, in_flight);
+ return;
+ }
/* limited by applications */
if (!tcp_is_cwnd_limited(sk, in_flight))
diff --git a/net/sysctl_net.c b/net/sysctl_net.c
index 665e856..b4f0525 100644
--- a/net/sysctl_net.c
+++ b/net/sysctl_net.c
@@ -82,6 +82,6 @@ EXPORT_SYMBOL_GPL(register_net_sysctl_table);
void unregister_net_sysctl_table(struct ctl_table_header *header)
{
- return unregister_sysctl_table(header);
+ unregister_sysctl_table(header);
}
EXPORT_SYMBOL_GPL(unregister_net_sysctl_table);
--
1.5.5.1.305.g7c84
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
2008-04-30 22:03 [PATCH 07/10] net: fix returning void-valued expression warnings Harvey Harrison
@ 2008-04-30 22:08 ` David Miller
2008-04-30 22:20 ` Harvey Harrison
2008-04-30 23:31 ` Alan Cox
1 sibling, 1 reply; 6+ messages in thread
From: David Miller @ 2008-04-30 22:08 UTC (permalink / raw)
To: harvey.harrison; +Cc: akpm, jeff, linux-kernel
From: Harvey Harrison <harvey.harrison@gmail.com>
Date: Wed, 30 Apr 2008 15:03:43 -0700
> drivers/net/8390.c:37:2: warning: returning void-valued expression
> drivers/net/bnx2.c:1635:3: warning: returning void-valued expression
> drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression
> net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression
> net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression
> net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression
> net/sysctl_net.c:85:2: warning: returning void-valued expression
>
> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
I wish this weren't marked with a warning, what spits this out,
sparse?
I know the kernel is written in C and not C++, but even Stroustrup
mentions this case explicitly in his book:
A void function cannot return a value. However, a call of a
void function doesn't yield a value, so a void function can
use a call of a void function as the expression in a return
statement.
And I see no reason why there's anything wrong with this construct.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
2008-04-30 22:08 ` David Miller
@ 2008-04-30 22:20 ` Harvey Harrison
2008-04-30 22:21 ` David Miller
2008-05-01 3:19 ` Linus Torvalds
0 siblings, 2 replies; 6+ messages in thread
From: Harvey Harrison @ 2008-04-30 22:20 UTC (permalink / raw)
To: David Miller, Linus Torvalds; +Cc: akpm, jeff, linux-kernel
On Wed, 2008-04-30 at 15:08 -0700, David Miller wrote:
> From: Harvey Harrison <harvey.harrison@gmail.com>
> Date: Wed, 30 Apr 2008 15:03:43 -0700
>
> > drivers/net/8390.c:37:2: warning: returning void-valued expression
> > drivers/net/bnx2.c:1635:3: warning: returning void-valued expression
> > drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression
> > net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression
> > net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression
> > net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression
> > net/sysctl_net.c:85:2: warning: returning void-valued expression
> >
> > Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
>
> I wish this weren't marked with a warning, what spits this out,
> sparse?
Yes, sparse warning.
>
> I know the kernel is written in C and not C++, but even Stroustrup
> mentions this case explicitly in his book:
>
> A void function cannot return a value. However, a call of a
> void function doesn't yield a value, so a void function can
> use a call of a void function as the expression in a return
> statement.
>
> And I see no reason why there's anything wrong with this construct.
Well, in an X86_32 allyesconfig, this only trips 32 times...so it's not
exactly common. I agree that there is nothing _wrong_ with this, I'll
just add Linus and see if we can just call it codingstyle ;)
This is just a _trivial_ way to make the sparse output easier for people
to use day-to-day for the kernel. There's lots more to do, but this set
removes all remaining integer as NUll/ returning void-value/ single bit
signed bitfield warnings.
Cheers,
Harvey
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
2008-04-30 22:20 ` Harvey Harrison
@ 2008-04-30 22:21 ` David Miller
2008-05-01 3:19 ` Linus Torvalds
1 sibling, 0 replies; 6+ messages in thread
From: David Miller @ 2008-04-30 22:21 UTC (permalink / raw)
To: harvey.harrison; +Cc: torvalds, akpm, jeff, linux-kernel
From: Harvey Harrison <harvey.harrison@gmail.com>
Date: Wed, 30 Apr 2008 15:20:05 -0700
> This is just a _trivial_ way to make the sparse output easier for people
> to use day-to-day for the kernel. There's lots more to do, but this set
> removes all remaining integer as NUll/ returning void-value/ single bit
> signed bitfield warnings.
Absolutely, I have no problem with that.
So I'll likely apply your patch, thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
2008-04-30 22:03 [PATCH 07/10] net: fix returning void-valued expression warnings Harvey Harrison
2008-04-30 22:08 ` David Miller
@ 2008-04-30 23:31 ` Alan Cox
1 sibling, 0 replies; 6+ messages in thread
From: Alan Cox @ 2008-04-30 23:31 UTC (permalink / raw)
To: Harvey Harrison; +Cc: Andrew Morton, David Miller, Jeff Garzik, LKML
> --- a/drivers/net/8390.c
> +++ b/drivers/net/8390.c
> @@ -34,7 +34,7 @@ struct net_device *__alloc_ei_netdev(int size)
>
> void NS8390_init(struct net_device *dev, int startp)
> {
> - return __NS8390_init(dev, startp);
> + __NS8390_init(dev, startp);
> }
>
> EXPORT_SYMBOL(ei_open);
Acked-by: Alan Cox <alan@redhat.com>
A
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
2008-04-30 22:20 ` Harvey Harrison
2008-04-30 22:21 ` David Miller
@ 2008-05-01 3:19 ` Linus Torvalds
1 sibling, 0 replies; 6+ messages in thread
From: Linus Torvalds @ 2008-05-01 3:19 UTC (permalink / raw)
To: Harvey Harrison; +Cc: David Miller, akpm, jeff, linux-kernel
On Wed, 30 Apr 2008, Harvey Harrison wrote:
>
> Well, in an X86_32 allyesconfig, this only trips 32 times...so it's not
> exactly common. I agree that there is nothing _wrong_ with this, I'll
> just add Linus and see if we can just call it codingstyle ;)
I actually had a patch to sparse to _not_ complain about it, because I
think it's one of the sane C++ extensions. I must have lost the patch and
not sent it upstream.
So in general, I don't mind the "return void_function()" in a void
function, I think it makes sense from a type standpoint, and sometimes
results in cleaner code. That said, I'm also not sure it's worth breaking
the C standard over, so I don't really mind it being fixed in the kernel
either (but would certainly also not complain if sparse were to be changed
to not complain)
Linus
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-05-01 3:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-30 22:03 [PATCH 07/10] net: fix returning void-valued expression warnings Harvey Harrison
2008-04-30 22:08 ` David Miller
2008-04-30 22:20 ` Harvey Harrison
2008-04-30 22:21 ` David Miller
2008-05-01 3:19 ` Linus Torvalds
2008-04-30 23:31 ` Alan Cox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox