From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932804AbbKSMuo (ORCPT ); Thu, 19 Nov 2015 07:50:44 -0500 Received: from mout.kundenserver.de ([217.72.192.75]:58966 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750935AbbKSMum (ORCPT ); Thu, 19 Nov 2015 07:50:42 -0500 From: Arnd Bergmann To: pablo@netfilter.org, netfilter-devel@vger.kernel.org Cc: coreteam@netfilter.org, Patrick McHardy , Jozsef Kadlecsik , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Ken-ichirou MATSUZAWA Subject: [PATCH] netfilter: avoid harmless unnitialized variable warnings Date: Thu, 19 Nov 2015 13:49:59 +0100 Message-ID: <5585663.OcpAQiytKY@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:PxbiroSavnnjGvUdxlyew3Hcvs0YP/wph3d4Bdx6IKa8GffbZlk X+KeuGowUx1wtvKN9sfi3vAe6fT1hGCtI69ByoIV0VLMx5XLA63hPoB2H8hE1sTvgheUDGz VLTTeeznbHrdOzUgyDPWPciZQ29GPwnzsytUU7kQPIgwPo5AKSxyJ/3cW3j6u82GNJLwk1i 6C+UnC7DCOEs4NWTdSiVw== X-UI-Out-Filterresults: notjunk:1;V01:K0:9Xe4qfe5Nvo=:MW6rF/g4I+wtrFAuJ7euoR a0GQ18ikBUDd/0aLG+q9FH04v9410RrQc7Y/PIXqqayHtA9XBWeiHzd2zFaVxtTCH4/yHuneh nnHyrP8VRnpQ3FsXdbPS3CqdX+hz+hRqJZ2U0IW9ZgpRSn5gDeRj46Aac/oz9I1b9aqXtXywG WDslP1BKkfiaT6n0DP10jPtkmU3lGSMJKfQk2tODNjrR7Lyfdfaa5xbvFrheV8nOM6lYWY8fH 9TqUDlSgNrbroYhdjRcNV4Min17ljmjonKNyUZ7xh/NW7sEyra10m6Zrt4kb9SLyt29aCy85P HQ9LorbJD7c30+kzmDxPc85EL9OQANdeqwHnPIkrwoRA34lIslEPZSEBlhNEpyB0j3k2vP7TX mfv85jfD8QNdbdIxIfppbKTrnxGGcihlIxCZ2zLu+3WnlCtubDohBF7bjNZDXanNKlM9Ekl0j u79UDrm2alst30w/TLxTFAHU6886xCDwjI9bidvuDfksud6vHVxffB/QGsDhrRyERsd9AVwM2 2ItHrrlTZ6bUSKVyW6znJAVIVXp37C7dF4u1hUYsEWb+R1hONuzqPXqIbIudh7+lVCVSTEKeL voFa4qHn3V5vk2RB8OcREsRSWpAIRLpixEAQ5XgE4g2UH3NY/l/EXWMM6agVCsUp+S6gzQh2Y T/de0PF9wSMxzHmPhnLtu8ajM2LD6l+mmb/UszVIIxvb5U1bzknfEtytq1X6YztTpcEODIdgO a3+0VO3HOC66RoeX Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Several ARM default configurations give us warnings on recent compilers about potentially uninitialized variables in the nfnetlink code in two functions: net/netfilter/nfnetlink_queue.c: In function 'nfqnl_build_packet_message': net/netfilter/nfnetlink_queue.c:519:19: warning: 'nfnl_ct' may be used uninitialized in this function [-Wmaybe-uninitialized] if (ct && nfnl_ct->build(skb, ct, ctinfo, NFQA_CT, NFQA_CT_INFO) < 0) Moving the rcu_dereference(nfnl_ct_hook) call outside of the conditional code avoids the warning without forcing us to preinitialize the variable. Signed-off-by: Arnd Bergmann Fixes: a4b4766c3ceb ("netfilter: nfnetlink_queue: rename related to nfqueue attaching conntrack info") --- diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c index 7d81d280cb4f..3e240544f346 100644 --- a/net/netfilter/nfnetlink_queue.c +++ b/net/netfilter/nfnetlink_queue.c @@ -365,8 +365,9 @@ nfqnl_build_packet_message(struct net *net, struct nfqnl_instance *queue, break; } + nfnl_ct = rcu_dereference(nfnl_ct_hook); + if (queue->flags & NFQA_CFG_F_CONNTRACK) { - nfnl_ct = rcu_dereference(nfnl_ct_hook); if (nfnl_ct != NULL) { ct = nfnl_ct->get_ct(entskb, &ctinfo); if (ct != NULL) @@ -1064,9 +1065,10 @@ nfqnl_recv_verdict(struct sock *ctnl, struct sk_buff *skb, if (entry == NULL) return -ENOENT; + /* rcu lock already held from nfnl->call_rcu. */ + nfnl_ct = rcu_dereference(nfnl_ct_hook); + if (nfqa[NFQA_CT]) { - /* rcu lock already held from nfnl->call_rcu. */ - nfnl_ct = rcu_dereference(nfnl_ct_hook); if (nfnl_ct != NULL) ct = nfqnl_ct_parse(nfnl_ct, nlh, nfqa, entry, &ctinfo); }