Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754268AbbKWJti (ORCPT ); Mon, 23 Nov 2015 04:49:38 -0500 Received: from mail-wm0-f42.google.com ([74.125.82.42]:33420 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752012AbbKWJtg (ORCPT ); Mon, 23 Nov 2015 04:49:36 -0500 Subject: Re: nfnetlink warnings To: Borislav Petkov , Pablo Neira Ayuso References: <20151123093607.GA5134@pd.tnic> Cc: netfilter-devel@vger.kernel.org, lkml From: Michael Wang Message-ID: <5652E12E.3070500@profitbricks.com> Date: Mon, 23 Nov 2015 10:49:34 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151123093607.GA5134@pd.tnic> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2070 Lines: 57 Hi, Borislav Why not just initialized it as NULL, or mark it as uninitialized_var()? Regards, Michael Wang On 11/23/2015 10:36 AM, Borislav Petkov wrote: > Hey, > > so I keep getting those since recently: > > 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) > ^ > net/netfilter/nfnetlink_queue.c:316:23: note: ‘nfnl_ct’ was declared here > struct nfnl_ct_hook *nfnl_ct; > ^ > net/netfilter/nfnetlink_queue.c: In function ‘nfqnl_recv_verdict’: > net/netfilter/nfnetlink_queue.c:1083:11: warning: ‘nfnl_ct’ may be used uninitialized in this function [-Wmaybe-uninitialized] > nfnl_ct->seq_adjust(entry->skb, ct, ctinfo, diff); > ^ > > and was thinking can we shut them up like this? I know, it is ugly :-\ > > I mean, it is obvious in both cases that nfnl_ct won't be used if ct is > not set but apparently gcc can't see that far... > > --- > diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c > index 7d81d280cb4f..cd61b0b5c413 100644 > --- a/net/netfilter/nfnetlink_queue.c > +++ b/net/netfilter/nfnetlink_queue.c > @@ -372,6 +372,8 @@ nfqnl_build_packet_message(struct net *net, struct nfqnl_instance *queue, > if (ct != NULL) > size += nfnl_ct->build_size(ct); > } > + } else { > + nfnl_ct = NULL; > } > > if (queue->flags & NFQA_CFG_F_UID_GID) { > @@ -1069,6 +1071,8 @@ nfqnl_recv_verdict(struct sock *ctnl, struct sk_buff *skb, > nfnl_ct = rcu_dereference(nfnl_ct_hook); > if (nfnl_ct != NULL) > ct = nfqnl_ct_parse(nfnl_ct, nlh, nfqa, entry, &ctinfo); > + } else { > + nfnl_ct = NULL; > } > > if (nfqa[NFQA_PAYLOAD]) { > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/