remarkable-linux/include
Alexey Kodanev fecb84a83f udplite: fix partial checksum initialization
[ Upstream commit 15f35d49c9 ]

Since UDP-Lite is always using checksum, the following path is
triggered when calculating pseudo header for it:

  udp4_csum_init() or udp6_csum_init()
    skb_checksum_init_zero_check()
      __skb_checksum_validate_complete()

The problem can appear if skb->len is less than CHECKSUM_BREAK. In
this particular case __skb_checksum_validate_complete() also invokes
__skb_checksum_complete(skb). If UDP-Lite is using partial checksum
that covers only part of a packet, the function will return bad
checksum and the packet will be dropped.

It can be fixed if we skip skb_checksum_init_zero_check() and only
set the required pseudo header checksum for UDP-Lite with partial
checksum before udp4_csum_init()/udp6_csum_init() functions return.

Fixes: ed70fcfcee ("net: Call skb_checksum_init in IPv4")
Fixes: e4f45b7f40 ("net: Call skb_checksum_init in IPv6")
Signed-off-by: Alexey Kodanev <alexey.kodanev@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-08 22:41:10 -08:00
..
acpi ACPI / EC: Fix regression related to PM ops support in ECDT device 2017-12-05 11:26:33 +01:00
asm-generic init: Invoke init_espfix_bsp() from mm_init() 2017-12-29 17:53:45 +01:00
clocksource
crypto crypto: af_alg - Fix race around ctx->rcvused by making it atomic_t 2018-03-03 10:24:29 +01:00
drm x86/gpu: add CFL to early quirks 2018-02-22 15:42:18 +01:00
dt-bindings
keys
kvm arm/arm64: KVM: Turn kvm_psci_version into a static inline 2018-02-16 20:22:55 +01:00
linux dax: fix vma_is_fsdax() helper 2018-03-08 22:41:06 -08:00
math-emu
media
memory
misc
net udplite: fix partial checksum initialization 2018-03-08 22:41:10 -08:00
pcmcia
ras
rdma IB/core: Fix ib_wc structure size to remain in 64 bytes boundary 2018-02-22 15:42:14 +01:00
scsi scsi: core: Ensure that the SCSI error handler gets woken up 2018-02-16 20:23:11 +01:00
soc
sound ALSA: hda - Fix yet remaining issue with vmaster 0dB initialization 2017-11-30 08:40:49 +00:00
target target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK 2017-11-30 08:40:51 +00:00
trace clk: fix a panic error caused by accessing NULL pointer 2018-02-25 11:08:02 +01:00
uapi uapi libc compat: add fallback for unsupported libcs 2018-03-03 10:24:34 +01:00
video
xen xen/balloon: Mark unallocated host memory as UNUSABLE 2018-03-03 10:24:28 +01:00