Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1397276 > unrolled thread
| Started by | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| First post | 2016-05-09 21:50 +0200 |
| Last post | 2016-05-10 07:10 +0200 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] netfilter: conntrack: remove uninitialized shadow variable Arnd Bergmann <arnd@arndb.de> - 2016-05-09 21:50 +0200
Re: [PATCH] netfilter: conntrack: remove uninitialized shadow variable Pablo Neira Ayuso <pablo@netfilter.org> - 2016-05-09 22:10 +0200
Re: [PATCH] netfilter: conntrack: remove uninitialized shadow variable Arnd Bergmann <arnd@arndb.de> - 2016-05-09 22:20 +0200
Re: [PATCH] netfilter: conntrack: remove uninitialized shadow variable David Miller <davem@davemloft.net> - 2016-05-10 07:10 +0200
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2016-05-09 21:50 +0200 |
| Subject | [PATCH] netfilter: conntrack: remove uninitialized shadow variable |
| Message-ID | <rwZlL-3xy-11@gated-at.bofh.it> |
A recent commit introduced an unconditional use of an uninitialized
variable, as reported in this gcc warning:
net/netfilter/nf_conntrack_core.c: In function '__nf_conntrack_confirm':
net/netfilter/nf_conntrack_core.c:632:33: error: 'ctinfo' may be used uninitialized in this function [-Werror=maybe-uninitialized]
bytes = atomic64_read(&counter[CTINFO2DIR(ctinfo)].bytes);
^
net/netfilter/nf_conntrack_core.c:628:26: note: 'ctinfo' was declared here
enum ip_conntrack_info ctinfo;
The problem is that a local variable shadows the function parameter.
This removes the local variable, which looks like what Pablo originally
intended.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 71d8c47fc653 ("netfilter: conntrack: introduce clash resolution on insertion race")
---
net/netfilter/nf_conntrack_core.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
index f58a70410c69..157ffa667395 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -625,7 +625,6 @@ static void nf_ct_acct_merge(struct nf_conn *ct, enum ip_conntrack_info ctinfo,
acct = nf_conn_acct_find(loser_ct);
if (acct) {
struct nf_conn_counter *counter = acct->counter;
- enum ip_conntrack_info ctinfo;
unsigned int bytes;
/* u32 should be fine since we must have seen one packet. */
--
2.7.0
[toc] | [next] | [standalone]
| From | Pablo Neira Ayuso <pablo@netfilter.org> |
|---|---|
| Date | 2016-05-09 22:10 +0200 |
| Subject | Re: [PATCH] netfilter: conntrack: remove uninitialized shadow variable |
| Message-ID | <rwZF9-42D-31@gated-at.bofh.it> |
| In reply to | #1397276 |
On Mon, May 09, 2016 at 09:47:23PM +0200, Arnd Bergmann wrote: > A recent commit introduced an unconditional use of an uninitialized > variable, as reported in this gcc warning: > > net/netfilter/nf_conntrack_core.c: In function '__nf_conntrack_confirm': > net/netfilter/nf_conntrack_core.c:632:33: error: 'ctinfo' may be used uninitialized in this function [-Werror=maybe-uninitialized] > bytes = atomic64_read(&counter[CTINFO2DIR(ctinfo)].bytes); > ^ > net/netfilter/nf_conntrack_core.c:628:26: note: 'ctinfo' was declared here > enum ip_conntrack_info ctinfo; > > The problem is that a local variable shadows the function parameter. > This removes the local variable, which looks like what Pablo originally > intended. Acked-by: Pablo Neira Ayuso <pablo@netfilter.org> Sorry for this, I wonder why gcc didn't catch up this here. @David, you can integrate this into your net-next tree. Thanks for fixing up this Arnd.
[toc] | [prev] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2016-05-09 22:20 +0200 |
| Message-ID | <rwZOP-48t-17@gated-at.bofh.it> |
| In reply to | #1397317 |
On Monday 09 May 2016 22:01:17 Pablo Neira Ayuso wrote: > On Mon, May 09, 2016 at 09:47:23PM +0200, Arnd Bergmann wrote: > > A recent commit introduced an unconditional use of an uninitialized > > variable, as reported in this gcc warning: > > > > net/netfilter/nf_conntrack_core.c: In function '__nf_conntrack_confirm': > > net/netfilter/nf_conntrack_core.c:632:33: error: 'ctinfo' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > bytes = atomic64_read(&counter[CTINFO2DIR(ctinfo)].bytes); > > ^ > > net/netfilter/nf_conntrack_core.c:628:26: note: 'ctinfo' was declared here > > enum ip_conntrack_info ctinfo; > > > > The problem is that a local variable shadows the function parameter. > > This removes the local variable, which looks like what Pablo originally > > intended. > > Acked-by: Pablo Neira Ayuso <pablo@netfilter.org> > > Sorry for this, I wonder why gcc didn't catch up this here. > > @David, you can integrate this into your net-next tree. > > Thanks for fixing up this Arnd. By default, an allmodconfig build will hide these warnings because of excessive false positives from CONFIG_CC_OPTIMIZE_FOR_SIZE. I've tried twice to get a patch merged that disables CONFIG_CC_OPTIMIZE_FOR_SIZE in allmodconfig so we get better warnings, but that patch unfortunately got ignored. Arnd
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2016-05-10 07:10 +0200 |
| Subject | Re: [PATCH] netfilter: conntrack: remove uninitialized shadow variable |
| Message-ID | <rx85J-3Uw-21@gated-at.bofh.it> |
| In reply to | #1397276 |
From: Arnd Bergmann <arnd@arndb.de>
Date: Mon, 9 May 2016 21:47:23 +0200
> A recent commit introduced an unconditional use of an uninitialized
> variable, as reported in this gcc warning:
>
> net/netfilter/nf_conntrack_core.c: In function '__nf_conntrack_confirm':
> net/netfilter/nf_conntrack_core.c:632:33: error: 'ctinfo' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> bytes = atomic64_read(&counter[CTINFO2DIR(ctinfo)].bytes);
> ^
> net/netfilter/nf_conntrack_core.c:628:26: note: 'ctinfo' was declared here
> enum ip_conntrack_info ctinfo;
>
> The problem is that a local variable shadows the function parameter.
> This removes the local variable, which looks like what Pablo originally
> intended.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: 71d8c47fc653 ("netfilter: conntrack: introduce clash resolution on insertion race")
Applied.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web