From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Brivio Subject: Re: [PATCH net-next v2] geneve: Use empty braces for addr6 initializer Date: Sat, 17 Nov 2018 12:31:46 +0100 Message-ID: <20181117123110.4caca757@redhat.com> References: <20181112221248.11477-1-natechancellor@gmail.com> <20181113061146.12182-1-natechancellor@gmail.com> <20181116150432.2408a075@redhat.com> <20181116153701.GA16184@flashbox> <138f1c15387c47fe65f4a0448f35afdd9db81933.camel@perches.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Sabrina Dubroca , netdev@vger.kernel.org, linux-kernel@vger.kernel.org To: Joe Perches , Nathan Chancellor , "David S. Miller" Return-path: In-Reply-To: <138f1c15387c47fe65f4a0448f35afdd9db81933.camel@perches.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Fri, 16 Nov 2018 18:33:40 -0800 Joe Perches wrote: > If this is really an issue, I don't know why the other uses > haven't been reported. It causes warnings with some older gcc versions and clang, I don't see it as an issue, but others might. > Perhaps change the rest of them too? But then look, we already have a delicious strict C89 initialiser in include/linux/in6.h, and we can do this: drivers/net/geneve.c | 4 ++-- include/net/ip6_fib.h | 9 +++------ include/trace/events/fib6.h | 4 +--- net/6lowpan/iphc.c | 12 ++++++------ 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index 7c53e06b31c3..96588adc294c 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c @@ -191,7 +191,7 @@ static struct geneve_dev *geneve_lookup_skb(struct geneve_sock *gs, return geneve_lookup(gs, addr, vni); #if IS_ENABLED(CONFIG_IPV6) } else if (geneve_get_sk_family(gs) == AF_INET6) { - static struct in6_addr zero_addr6; + struct in6_addr zero_addr6 = IN6ADDR_ANY_INIT; struct ipv6hdr *ip6h; struct in6_addr addr6; @@ -424,8 +424,8 @@ static int geneve_udp_encap_err_lookup(struct sock *sk, struct sk_buff *skb) #if IS_ENABLED(CONFIG_IPV6) if (geneve_get_sk_family(gs) == AF_INET6) { + struct in6_addr addr6 = IN6ADDR_ANY_INIT; struct ipv6hdr *ip6h = ipv6_hdr(skb); - struct in6_addr addr6 = { 0 }; if (!gs->collect_md) { vni = geneve_hdr(skb)->vni; diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 84097010237c..24543caf5a9f 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -427,13 +427,10 @@ void rt6_get_prefsrc(const struct rt6_info *rt, struct in6_addr *addr) rcu_read_lock(); from = rcu_dereference(rt->from); - if (from) { + if (from) *addr = from->fib6_prefsrc.addr; - } else { - struct in6_addr in6_zero = {}; - - *addr = in6_zero; - } + else + *addr = in6addr_any; rcu_read_unlock(); } diff --git a/include/trace/events/fib6.h b/include/trace/events/fib6.h index b088b54d699c..6496ca1594ac 100644 --- a/include/trace/events/fib6.h +++ b/include/trace/events/fib6.h @@ -68,10 +68,8 @@ TRACE_EVENT(fib6_table_lookup, __assign_str(name, "-"); } if (f6i == net->ipv6.fib6_null_entry) { - struct in6_addr in6_zero = {}; - in6 = (struct in6_addr *)__entry->gw; - *in6 = in6_zero; + *in6 = in6addr_any; } else if (f6i) { in6 = (struct in6_addr *)__entry->gw; diff --git a/net/6lowpan/iphc.c b/net/6lowpan/iphc.c index 52fad5dad9f7..f0e0bac91e71 100644 --- a/net/6lowpan/iphc.c +++ b/net/6lowpan/iphc.c @@ -246,8 +246,8 @@ lowpan_iphc_ctx_get_by_mcast_addr(const struct net_device *dev, const struct in6_addr *addr) { struct lowpan_iphc_ctx *table = lowpan_dev(dev)->ctx.table; + struct in6_addr addr_mcast, network_pfx = IN6ADDR_ANY_INIT; struct lowpan_iphc_ctx *ret = NULL; - struct in6_addr addr_mcast, network_pfx = {}; int i; /* init mcast address with */ @@ -481,7 +481,7 @@ static int lowpan_uncompress_multicast_ctx_daddr(struct sk_buff *skb, struct in6_addr *ipaddr, u8 address_mode) { - struct in6_addr network_pfx = {}; + struct in6_addr network_pfx = IN6ADDR_ANY_INIT; bool fail; ipaddr->s6_addr[0] = 0xFF; @@ -794,8 +794,8 @@ lowpan_iphc_compress_ctx_802154_lladdr(const struct in6_addr *ipaddr, { const struct ieee802154_addr *addr = lladdr; unsigned char extended_addr[EUI64_ADDR_LEN]; + struct in6_addr tmp = IN6ADDR_ANY_INIT; bool lladdr_compress = false; - struct in6_addr tmp = {}; switch (addr->mode) { case IEEE802154_ADDR_LONG: @@ -833,7 +833,7 @@ static bool lowpan_iphc_addr_equal(const struct net_device *dev, const struct in6_addr *ipaddr, const void *lladdr) { - struct in6_addr tmp = {}; + struct in6_addr tmp = IN6ADDR_ANY_INIT; lowpan_iphc_uncompress_lladdr(dev, &tmp, lladdr); @@ -848,7 +848,7 @@ static u8 lowpan_compress_ctx_addr(u8 **hc_ptr, const struct net_device *dev, const struct lowpan_iphc_ctx *ctx, const unsigned char *lladdr, bool sam) { - struct in6_addr tmp = {}; + struct in6_addr tmp = IN6ADDR_ANY_INIT; u8 dam; switch (lowpan_dev(dev)->lltype) { @@ -907,8 +907,8 @@ lowpan_iphc_compress_802154_lladdr(const struct in6_addr *ipaddr, { const struct ieee802154_addr *addr = lladdr; unsigned char extended_addr[EUI64_ADDR_LEN]; + struct in6_addr tmp = IN6ADDR_ANY_INIT; bool lladdr_compress = false; - struct in6_addr tmp = {}; switch (addr->mode) { case IEEE802154_ADDR_LONG: -- Stefano