android_kernel_msm-6.1_noth.../net/core
Kees Cook 161d179261 net: core: Distribute switch variables for initialization
Variables declared in a switch statement before any case statements
cannot be automatically initialized with compiler instrumentation (as
they are not part of any execution flow). With GCC's proposed automatic
stack variable initialization feature, this triggers a warning (and they
don't get initialized). Clang's automatic stack variable initialization
(via CONFIG_INIT_STACK_ALL=y) doesn't throw a warning, but it also
doesn't initialize such variables[1]. Note that these warnings (or silent
skipping) happen before the dead-store elimination optimization phase,
so even when the automatic initializations are later elided in favor of
direct initializations, the warnings remain.

To avoid these problems, move such variables into the "case" where
they're used or lift them up into the main function body.

net/core/skbuff.c: In function ‘skb_checksum_setup_ip’:
net/core/skbuff.c:4809:7: warning: statement will never be executed [-Wswitch-unreachable]
 4809 |   int err;
      |       ^~~

[1] https://bugs.llvm.org/show_bug.cgi?id=44916

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-02-20 10:00:19 -08:00
..
bpf_sk_storage.c bpf: Improve bucket_log calculation logic 2020-02-07 23:01:41 +01:00
datagram.c
datagram.h
dev.c Revert "net: dev: introduce support for sch BYPASS for lockless qdisc" 2020-02-18 12:37:45 -08:00
dev_addr_lists.c
dev_ioctl.c net: Introduce peer to peer one step PTP time stamping. 2019-12-25 19:51:34 -08:00
devlink.c devlink: report 0 after hitting end in region read 2020-02-05 14:23:20 +01:00
drop_monitor.c drop_monitor: Do not cancel uninitialized work item 2020-02-07 18:48:36 +01:00
dst.c
dst_cache.c
failover.c
fib_notifier.c
fib_rules.c net: fib_rules: Correctly set table field when table number exceeds 8 bits 2020-02-16 18:38:24 -08:00
filter.c treewide: remove redundant IS_ERR() before error code check 2020-02-04 03:05:27 +00:00
flow_dissector.c flow_dissector: Fix to use new variables for port ranges in bpf hook 2020-01-27 11:25:07 +01:00
flow_offload.c
gen_estimator.c
gen_stats.c
gro_cells.c
hwbm.c
link_watch.c
lwt_bpf.c
lwtunnel.c
Makefile
neighbour.c neigh_stat_seq_next() should increase position index 2020-01-24 11:42:18 +01:00
net-procfs.c
net-sysfs.c
net-sysfs.h
net-traces.c
net_namespace.c netns: Constify exported functions 2020-01-17 13:25:24 +01:00
netclassid_cgroup.c
netevent.c
netpoll.c
netprio_cgroup.c
page_pool.c page_pool: refill page when alloc.count of pool is zero 2020-02-13 14:11:51 -08:00
pktgen.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
ptp_classifier.c
request_sock.c
rtnetlink.c net: rtnetlink: fix bugs in rtnl_alt_ifname() 2020-02-16 18:51:59 -08:00
scm.c
secure_seq.c
skbuff.c net: core: Distribute switch variables for initialization 2020-02-20 10:00:19 -08:00
skmsg.c net, sk_msg: Don't check if sock is locked when tearing down psock 2020-01-22 20:30:20 +01:00
sock.c xsk, net: Make sock_def_readable() have external linkage 2020-01-22 00:08:52 +01:00
sock_diag.c
sock_map.c bpf, sockhash: Synchronize_rcu before free'ing map 2020-02-07 22:36:26 +01:00
sock_reuseport.c soreuseport: Cleanup duplicate initialization of more_reuse->max_socks. 2020-01-27 11:01:16 +01:00
stream.c
sysctl_net_core.c
timestamping.c net: Introduce a new MII time stamping interface. 2019-12-25 19:51:33 -08:00
tso.c
utils.c net: Fix skb->csum update in inet_proto_csum_replace16(). 2020-01-24 20:54:30 +01:00
xdp.c