net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames
Cong Wang authored
[ Upstream commit e8c8b53c ]

When an ethernet frame is padded to meet the minimum ethernet frame
size, the padding octets are not covered by the hardware checksum.
Fortunately the padding octets are usually zero's, which don't affect
checksum. However, we have a switch which pads non-zero octets, this
causes kernel hardware checksum fault repeatedly.

Prior to:
commit '88078d98 ("net: pskb_trim_rcsum() and CHECKSUM_COMPLETE ...")'
skb checksum was forced to be CHECKSUM_NONE when padding is detected.
After it, we need to keep skb->csum updated, like what we do for RXFCS.
However, fixing up CHECKSUM_COMPLETE requires to verify and parse IP
headers, it is not worthy the effort as the packets are so small that
CHECKSUM_COMPLETE can't save anything.

Fixes: 88078d98 ("net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends"),
Cc: Eric Dumazet <edumazet@google.com>
Cc: Tariq Toukan <tariqt@mellanox.com>
Cc:...
b72ea6ec
Name Last commit Last update
Documentation mm, proc: be more verbose about unstable VMA flags in /proc/<pid>/smaps
LICENSES LICENSES: Remove CC-BY-SA-4.0 license text
arch arm64/sve: ptrace: Fix SVE_PT_REGS_OFFSET definition
block block: use rcu_work instead of call_rcu to avoid sleep in softirq
certs export.h: remove VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR()
crypto crypto: aes_ti - disable interrupts while accessing S-box
drivers net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames
firmware kbuild: remove all dummy assignments to obj-
fs xfs: fix inverted return from xfs_btree_sblock_verify_crc
include kvm: Change offset in kvm_write_guest_offset_cached to unsigned
init kbuild: Disable LD_DEAD_CODE_DATA_ELIMINATION with ftrace & GCC <= 4.7
ipc ipc/shm.c: use ERR_CAST() for shm_lock() error return
kernel kernel/kcov.c: mark write_comp_data() as notrace
lib lib/test_rhashtable: Make test_insert_dup() allocate its hash table dynamically
mm mm/page_alloc.c: don't call kasan_free_pages() at deferred mem init
net net: dsa: slave: Don't propagate flag changes on down slave interfaces
samples livepatch: check kzalloc return values
scripts scripts/gdb: fix lx-version string output
security smack: fix access permissions for keyring
sound ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M
tools perf python: Do not force closing original perf descriptor in evlist.get_pollfd()
usr initramfs: move gen_initramfs_list.sh from scripts/ to usr/
virt kvm: Change offset in kvm_write_guest_offset_cached to unsigned
.clang-format clang-format: Set IndentWrappedFunctionNames false
.cocciconfig scripts: add Linux .cocciconfig for coccinelle
.get_maintainer.ignore Add hch to .get_maintainer.ignore
.gitattributes .gitattributes: set git diff driver for C source code files
.gitignore Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
.mailmap Merge tag 'libnvdimm-for-4.19_misc' of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm
COPYING COPYING: use the new text with points to the license files
CREDITS 9p: remove Ron Minnich from MAINTAINERS
Kbuild Merge tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Kconfig kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt
MAINTAINERS MAINTAINERS: Add Sasha as a stable branch maintainer
Makefile Linux 4.19.20
README Docs: Added a pointer to the formatted docs to README
Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.