mirror_ubuntu-kernels/drivers/net/ethernet
Kees Cook a34c7f5156 e1000: 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.

drivers/net/ethernet/intel/e1000/e1000_main.c: In function ‘e1000_xmit_frame’:
drivers/net/ethernet/intel/e1000/e1000_main.c:3143:18: warning: statement will never be executed [-Wswitch-unreachable]
 3143 |     unsigned int pull_size;
      |                  ^~~~~~~~~

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

Signed-off-by: Kees Cook <keescook@chromium.org>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2020-04-17 10:19:24 -07:00
..
3com net: typhoon: Add required whitespace after keywords 2020-03-23 22:10:28 -07:00
8390
adaptec net/adaptec: Clean driver versions 2020-02-24 11:23:36 -08:00
aeroflex net/aeroflex: Don't assign FW if it is not available 2020-02-24 11:23:37 -08:00
agere net/agere: Delete unneeded driver version 2020-02-24 11:23:37 -08:00
alacritech net/alacritech: Delete driver version 2020-02-24 11:23:37 -08:00
allwinner net/allwinner: Remove driver version 2020-02-24 11:23:37 -08:00
alteon net/alteon: Properly report FW version 2020-02-24 11:23:37 -08:00
altera net/althera: Delete hardcoded driver version 2020-02-24 11:23:37 -08:00
amazon net: ena: Make some functions static 2020-03-30 10:53:40 -07:00
amd amd-xgbe: Use __napi_schedule() in BH context 2020-04-16 13:59:53 -07:00
apm net/apm: Properly mark absence of FW 2020-02-24 11:24:47 -08:00
apple
aquantia net: atlantic: fix missing | operator when assigning rec->llc 2020-04-02 06:50:59 -07:00
arc net/arc: Delete driver version 2020-02-24 11:24:47 -08:00
atheros atl2: remove unused variable 'atl2_driver_string' 2020-03-26 11:22:20 -07:00
aurora
broadcom bnx2x: correct a comment mistake in grammar 2020-04-01 11:24:17 -07:00
brocade net: bna: reject unsupported coalescing params 2020-03-10 16:28:53 -07:00
cadence net: macb: Fix handling of fixed-link node 2020-03-31 10:06:27 -07:00
calxeda
cavium net: cavium: Fix build errors due to 'imply CAVIUM_PTP' 2020-04-02 07:01:31 -07:00
chelsio net/cxgb4: Check the return from t4_query_params properly 2020-04-14 16:44:54 -07:00
cirrus net/cirrus: Delete driver version 2020-03-03 17:54:54 -08:00
cisco enic: let core reject the unsupported coalescing parameters 2020-03-05 12:12:34 -08:00
cortina net: gemini: reject unsupported coalescing params 2020-03-10 16:28:53 -07:00
davicom net/davicom: Delete ethtool version assignment 2020-03-03 17:54:54 -08:00
dec net: tulip: make early_486_chipsets static 2020-04-15 16:22:14 -07:00
dlink net/dlink: Remove driver version and release date 2020-03-03 17:54:54 -08:00
emulex net: be2net: reject unsupported coalescing params 2020-03-12 11:32:35 -07:00
ezchip
faraday net/faraday: fix grammar in function ftgmac100_setup_clk() in ftgmac100.c 2020-04-01 11:23:45 -07:00
freescale net: fec: set GPR bit on suspend by DT configuration. 2020-04-07 18:23:37 -07:00
fujitsu
google
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-30 20:48:43 -07:00
huawei hinic: fix wrong value of MIN_SKB_LEN 2020-03-21 19:44:16 -07:00
i825xx
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-12 22:34:48 -07:00
intel e1000: Distribute switch variables for initialization 2020-04-17 10:19:24 -07:00
marvell net: mvneta: Fix a typo 2020-04-12 21:20:27 -07:00
mediatek net: ethernet: mediatek: move mt7623 settings out off the mt7530 2020-04-07 18:28:28 -07:00
mellanox net/mlx5e: CT: Use rhashtable's ct entries instead of a separate list 2020-04-08 15:46:54 -07:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2020-03-29 21:25:29 -07:00
microchip
moxa
mscc net: mscc: ocelot: fix untagged packet drops when enslaving to vlan aware bridge 2020-04-15 12:27:35 -07:00
myricom net: myri10ge: reject unsupported coalescing params 2020-03-14 21:13:54 -07:00
natsemi
neterion net: neterion: remove redundant assignment to variable tmp64 2020-04-12 11:44:02 -07:00
netronome net: sched: expose HW stats types per action used by drivers 2020-03-30 11:06:49 -07:00
ni net: nixge: let core reject the unsupported coalescing parameters 2020-03-14 21:13:54 -07:00
nvidia
nxp
oki-semi
packetengines
pasemi
pensando ionic: fix unused assignment 2020-04-14 16:30:14 -07:00
qlogic qed: remove redundant assignment to variable 'rc' 2020-04-06 10:22:09 -07:00
qualcomm net: qualcomm: rmnet: Allow configuration updates to existing devices 2020-04-02 06:50:04 -07:00
rdc
realtek r8169: change back SG and TSO to be disabled by default 2020-04-06 10:09:58 -07:00
renesas
rocker
samsung net: sxgbe: reject unsupported coalescing params 2020-03-14 21:13:55 -07:00
seeq
sfc sfc: falcon: convert to use i2c_new_client_device() 2020-03-26 19:31:21 -07:00
sgi net: sgi: ioc3-eth: Remove phy workaround 2020-03-09 10:09:45 -07:00
silan
sis
smsc
socionext net: socionext: reject unsupported coalescing params 2020-03-17 20:56:57 -07:00
stmicro net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes 2020-04-16 13:47:53 -07:00
sun net: sun: use pci_status_get_and_clear_errors 2020-03-04 14:21:00 -08:00
synopsys net: dwc-xlgmac: let core reject the unsupported coalescing parameters 2020-03-17 20:56:57 -07:00
tehuti net: tehuti: reject unsupported coalescing params 2020-03-17 20:56:57 -07:00
ti net: ethernet: ti: Add missing '\n' in log messages 2020-04-12 11:44:39 -07:00
toshiba toshiba: Replace zero-length array with flexible-array member 2020-02-24 15:26:17 -08:00
tundra
via net: via: reject unsupported coalescing params 2020-03-14 21:13:55 -07:00
wiznet
xilinx net: axienet: Allow DMA to beyond 4GB 2020-03-24 16:33:05 -07:00
xircom
xscale
dnet.c net/dnet: Delete static version from the driver 2020-03-03 17:54:55 -08:00
dnet.h net/dnet: Delete static version from the driver 2020-03-03 17:54:55 -08:00
ec_bhf.c
ethoc.c
fealnx.c net/fealnx: Delete driver version 2020-03-03 17:54:55 -08:00
jme.c net: jme: reject unsupported coalescing params 2020-03-14 21:13:54 -07:00
jme.h
Kconfig
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile