From: Arnd Bergmann <a...@arndb.de> Date: Tue, 5 May 2020 19:22:14 +0200
> clang points out that building without IPv6 would lead to returning > an uninitialized variable if a packet with family!=AF_INET is > passed into bareudp_udp_encap_recv(): > > drivers/net/bareudp.c:139:6: error: variable 'err' is used uninitialized > whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized] > if (family == AF_INET) > ^~~~~~~~~~~~~~~~~ > drivers/net/bareudp.c:146:15: note: uninitialized use occurs here > if (unlikely(err)) { > ^~~ > include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' > # define unlikely(x) __builtin_expect(!!(x), 0) > ^ > drivers/net/bareudp.c:139:2: note: remove the 'if' if its condition is always > true > if (family == AF_INET) > ^~~~~~~~~~~~~~~~~~~~~~ > > This cannot happen in practice, so change the condition in a way that > gcc sees the IPv4 case as unconditionally true here. > For consistency, change all the similar constructs in this file the > same way, using "if(IS_ENABLED())" instead of #if IS_ENABLED()". > > Fixes: 571912c69f0e ("net: UDP tunnel encapsulation module for tunnelling > different protocols like MPLS, IP, NSH etc.") > Signed-off-by: Arnd Bergmann <a...@arndb.de> Applied, thanks.