linux/drivers/net
Nathan Chancellor 118de61067 net: ethernet: rmnet: Restructure if checks to avoid uninitialized warning
Clang warns that proto in rmnet_map_v5_checksum_uplink_packet() might be
used uninitialized:

drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:283:14: warning:
variable 'proto' is used uninitialized whenever 'if' condition is false
[-Wsometimes-uninitialized]
                } else if (skb->protocol == htons(ETH_P_IPV6)) {
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:295:36: note:
uninitialized use occurs here
                check = rmnet_map_get_csum_field(proto, trans);
                                                 ^~~~~
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:283:10: note:
remove the 'if' if its condition is always true
                } else if (skb->protocol == htons(ETH_P_IPV6)) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:270:11: note:
initialize the variable 'proto' to silence this warning
                u8 proto;
                        ^
                         = '\0'
1 warning generated.

This is technically a false positive because there is an if statement
above this one that checks skb->protocol for not being either
ETH_P_IP{,V6}. However, it is more obvious to sink that into the if
statement as an else branch, which makes the code clearer and fixes the
warning.

At the same time, move the "IS_ENABLED(CONFIG_IPV6)" into the else if
condition so that the else branch of the preprocessor conditional can
be shared, since there is no build failure with CONFIG_IPV6 disabled.

Fixes: b6e5d27e32 ("net: ethernet: rmnet: Add support for MAPv5 egress packets")
Link: https://github.com/ClangBuiltLinux/linux/issues/1390
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-03 15:29:54 -07:00
..
appletalk Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-05-27 09:55:10 -07:00
arcnet
bonding bonding: remove redundant initialization of variable ret 2021-06-03 15:25:29 -07:00
caif Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-05-27 09:55:10 -07:00
can can: m_can: fix whitespace in a few comments 2021-05-27 09:42:24 +02:00
dsa net: dsa: sja1105: some table entries are always present when read dynamically 2021-05-31 22:40:26 -07:00
ethernet net: ethernet: rmnet: Restructure if checks to avoid uninitialized warning 2021-06-03 15:29:54 -07:00
fddi
fjes fjes: Use DEFINE_RES_MEM() and DEFINE_RES_IRQ() to simplify code 2021-06-01 15:20:47 -07:00
hamradio hamradio: bpqether: Fix -Wunused-const-variable warning 2021-06-01 17:00:51 -07:00
hippi
hyperv
ieee802154
ipa Revert "net: ipa: disable checksum offload for IPA v4.5+" 2021-06-03 15:09:40 -07:00
ipvlan
mdio net: mdio: Fix spelling mistakes 2021-06-01 17:05:05 -07:00
mhi
netdevsim netdevsim: Allow setting parent node of rate objects 2021-06-02 14:08:37 -07:00
pcs net: pcs: xpcs: convert to phylink_pcs_ops 2021-06-03 13:30:43 -07:00
phy net: phy: marvell: use phy_modify_changed() for marvell_set_polarity() 2021-06-03 15:24:34 -07:00
plip
ppp
slip
team
usb net: usb: Fix spelling mistakes 2021-06-01 17:05:05 -07:00
vmxnet3
wan net: hdlc_cisco: remove redundant space 2021-06-03 13:27:36 -07:00
wireguard
wireless Networking fixes for 5.13-rc4, including fixes from bpf, netfilter, 2021-05-26 17:44:49 -10:00
wwan net: wwan: core: Add WWAN device index sysfs attribute 2021-05-25 15:51:37 -07:00
xen-netback
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c gtp: Fix a typo 2021-06-01 17:05:04 -07:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c
macvlan.c macvlan: Fix a typo 2021-06-01 17:05:04 -07:00
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c
veth.c
virtio_net.c virtio-net: Add validation for used length 2021-05-31 21:53:36 -07:00
vrf.c vrf: Fix a typo 2021-06-01 17:05:04 -07:00
vsockmon.c
vxlan.c
xen-netfront.c