Messages in this thread Patch in this message | | | Date | Mon, 23 Nov 2015 10:36:07 +0100 | From | Borislav Petkov <> | Subject | nfnetlink warnings |
| |
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]) { -- Regards/Gruss, Boris.
ECO tip #101: Trim your mails when you reply.
| |