linux/drivers/net/ethernet
Alex Elder 16bf3d33c6 net: qualcomm: rmnet: IPv4 header has zero checksum
In rmnet_map_ipv4_dl_csum_trailer(), an illegal checksum subtraction
is done, subtracting hdr_csum (in host byte order) from csum_value (in
network byte order).  Despite being illegal, it generally works,
because it turns out the value subtracted is (or should be) always 0,
which has the same representation in either byte order.

Doing illegal operations is not good form though, so fix this by
verifying the IP header checksum early in that function.  If its
checksum is non-zero, the packet will be bad, so just return an
error.  This will cause the packet to passed to the IP layer where
it can be dropped.

Thereafter, there is no need subtract the IP header checksum from
the checksum value in the trailer because we know it is zero.
Add a comment explaining this.

This type of packet error is different from other types, so add a
new statistics counter to track this condition.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-11 13:37:49 -07:00
..
3com net: 3com: remove leading spaces before tabs 2021-05-19 12:17:30 -07:00
8390 net: 8390: remove leading spaces before tabs 2021-05-19 12:17:31 -07:00
actions
adaptec treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
aeroflex of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
agere
alacritech
allwinner of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
alteon net: alteon: remove leading spaces before tabs 2021-05-19 12:17:30 -07:00
altera of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
amazon net: ena: make symbol 'ena_alloc_map_page' static 2021-06-09 15:35:48 -07:00
amd net: amd: remove leading spaces before tabs 2021-05-19 12:17:30 -07:00
apm
apple net: apple: remove leading spaces before tabs 2021-05-19 12:17:30 -07:00
aquantia
arc net: arc: Demote non-compliant kernel-doc headers 2021-05-17 14:12:38 -07:00
atheros atl1c: add 4 RX/TX queue support for Mikrotik 10/25G NIC 2021-05-27 16:06:46 -07:00
broadcom net: ethernet: bgmac: Use devm_platform_ioremap_resource_byname 2021-06-07 14:07:22 -07:00
brocade net: brocade: bna: Fix wrong function name in comments 2021-05-17 14:12:38 -07:00
cadence net: macb: Use devm_platform_get_and_ioremap_resource() 2021-06-07 14:07:22 -07:00
calxeda net: calxeda: Fix wrong function name in comments 2021-05-17 14:12:38 -07:00
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-05-27 09:55:10 -07:00
chelsio Merge ra.kernel.org:/pub/scm/linux/kernel/git/netdev/net 2021-06-07 13:01:52 -07:00
cirrus
cisco ethernet:enic: Fix a use after free bug in enic_hard_start_xmit 2021-05-03 13:23:00 -07:00
cortina net: gemini: Use devm_platform_get_and_ioremap_resource() 2021-06-07 13:20:00 -07:00
davicom net: davicom: Remove redundant assignment to ret 2021-04-26 12:48:30 -07:00
dec net: tulip: Remove the repeated declaration 2021-06-07 14:03:11 -07:00
dlink net: dlink: remove leading spaces before tabs 2021-05-19 12:17:31 -07:00
emulex
ezchip of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
faraday net: ftgmac100: add missing error return code in ftgmac100_probe() 2021-05-23 16:16:24 -07:00
freescale net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver 2021-06-11 13:08:53 -07:00
fujitsu Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-05-27 09:55:10 -07:00
google gve: Correct SKB queue index validation. 2021-05-17 15:38:40 -07:00
hisilicon net: hns3: add debugfs support for ptp info 2021-06-11 12:43:16 -07:00
huawei net: huawei: hinic: Fix wrong function name in comments 2021-05-17 14:12:38 -07:00
i825xx
ibm ibmvnic: Allow device probe if the device is not ready at boot 2021-06-10 14:35:07 -07:00
intel ice: enable transmit timestamps for E810 devices 2021-06-11 08:47:41 -07:00
marvell octeontx2-pf: add support for ndo_set_vf_trust 2021-06-11 13:21:11 -07:00
mediatek net: ethernet: mtk_eth_soc: Fix packet statistics support for MT7628/88 2021-05-23 16:13:11 -07:00
mellanox net/mlx5: Bridge, add tracepoints 2021-06-09 18:36:12 -07:00
micrel net: micrel: check return value after calling platform_get_resource() 2021-06-07 14:07:22 -07:00
microchip net: encx24j600: fix kernel-doc syntax in file headers 2021-05-20 15:25:38 -07:00
microsoft net: mana: Use struct_size() in kzalloc() 2021-05-13 15:58:46 -07:00
moxa net: moxa: Use devm_platform_get_and_ioremap_resource() 2021-06-07 14:08:30 -07:00
mscc net: mscc: ocelot: support PTP Sync one-step timestamping 2021-04-27 14:10:15 -07:00
myricom ethernet: myri10ge: Fix missing error code in myri10ge_probe() 2021-06-01 15:54:38 -07:00
natsemi net: natsemi: remove leading spaces before tabs 2021-05-19 12:17:31 -07:00
neterion net: vxge: Declare the function vxge_reset_all_vpaths as void 2021-06-01 15:29:43 -07:00
netronome nfp: use list_move instead of list_del/list_add in nfp_cppcore.c 2021-06-09 13:55:37 -07:00
ni net: nixge: simplify code with devm platform functions 2021-06-08 16:36:57 -07:00
nvidia
nxp of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
oki-semi net: pch_gbe: remove unneeded MODULE_VERSION() call 2021-05-10 14:58:20 -07:00
packetengines
pasemi
pensando ionic: fix ptp support config breakage 2021-05-11 16:20:27 -07:00
qlogic ethernet/qlogic: Use list_for_each_entry() to simplify code in qlcnic_hw.c 2021-06-08 16:31:25 -07:00
qualcomm net: qualcomm: rmnet: IPv4 header has zero checksum 2021-06-11 13:37:49 -07:00
rdc net: r6040: Allow restarting auto-negotiation 2021-05-23 17:23:59 -07:00
realtek r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM 2021-06-11 12:54:25 -07:00
renesas net: ethernet: ravb: Use devm_platform_get_and_ioremap_resource() 2021-06-09 13:51:11 -07:00
rocker net: bridge: switchdev: include local flag in FDB notifications 2021-04-16 15:15:45 -07:00
samsung net: samsung: sxgbe: Fix wrong function name in comments 2021-05-17 14:12:39 -07:00
seeq net: seeq: remove leading spaces before tabs 2021-05-19 12:17:31 -07:00
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-05-27 09:55:10 -07:00
sgi net: sgi: ioc3-eth: check return value after calling platform_get_resource() 2021-06-09 15:24:43 -07:00
silan
sis net: sis: remove leading spaces before tabs 2021-05-19 12:17:31 -07:00
smsc net: smsc: remove leading spaces before tabs 2021-05-19 12:17:31 -07:00
socionext net: socionext: Demote non-compliant kernel-doc headers 2021-05-17 14:12:39 -07:00
stmicro net: stmmac: Fix potential integer overflow 2021-06-11 13:11:54 -07:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-05-27 09:55:10 -07:00
synopsys
tehuti
ti net: davinci_emac: Use devm_platform_get_and_ioremap_resource() 2021-06-10 13:02:01 -07:00
toshiba net: toshiba: fix the trailing format of some block comments 2021-03-31 14:34:09 -07:00
tundra
via net: via: Fix wrong function name in comments 2021-05-17 14:12:39 -07:00
wiznet net: w5100: Use devm_platform_get_and_ioremap_resource() 2021-06-10 13:53:13 -07:00
xilinx net: axienet: Use devm_platform_get_and_ioremap_resource() 2021-06-10 13:53:13 -07:00
xircom net: xircom: remove leading spaces before tabs 2021-05-19 12:17:31 -07:00
xscale net: ethernet: ixp4xx_eth: Use devm_platform_get_and_ioremap_resource() 2021-06-07 13:05:37 -07:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
fealnx.c net: fealnx: remove leading spaces before tabs 2021-05-19 12:17:31 -07:00
jme.c
jme.h
Kconfig net: korina: Make driver COMPILE_TESTable 2021-04-19 15:58:14 -07:00
korina.c net: korina: Fix return value check in korina_probe() 2021-05-13 15:54:08 -07:00
lantiq_etop.c
lantiq_xrx200.c net: lantiq: Use devm_platform_get_and_ioremap_resource() 2021-06-07 13:05:37 -07:00
Makefile net: mana: Add a driver for Microsoft Azure Network Adapter (MANA) 2021-04-19 15:24:25 -07:00