Frank van der Linden
6caca347e4
tcp: verify the checksum of the first data segment in a new connection
...
[ Upstream commit 4fd44a98ffe0d048246efef67ed640fdf2098a62 ]
commit 079096f103 ("tcp/dccp: install syn_recv requests into ehash
table") introduced an optimization for the handling of child sockets
created for a new TCP connection.
But this optimization passes any data associated with the last ACK of the
connection handshake up the stack without verifying its checksum, because it
calls tcp_child_process(), which in turn calls tcp_rcv_state_process()
directly. These lower-level processing functions do not do any checksum
verification.
Insert a tcp_checksum_complete call in the TCP_NEW_SYN_RECEIVE path to
fix this.
Fixes: 079096f103 ("tcp/dccp: install syn_recv requests into ehash table")
Signed-off-by: Frank van der Linden <fllinden@amazon.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Tested-by: Balbir Singh <bsingharora@gmail.com>
Reviewed-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-26 08:08:07 +08:00
..
6lowpan
6lowpan: ndisc: no overreact if no short address is available
2016-09-19 20:19:34 +02:00
9p
9p/trans_virtio: discard zero-length reply
2018-02-22 15:43:50 +01:00
802
8021q
vlan: also check phy_driver ts_info for vlan's real device
2018-04-13 19:48:34 +02:00
appletalk
appletalk: use IS_ENABLED() instead of checking for built-in or module
2016-09-10 21:19:10 -07:00
atm
net: atm: Fix potential Spectre v1
2018-05-16 10:08:44 +02:00
ax25
ax25: Fix segfault after sock connection timeout
2017-02-04 09:47:09 +01:00
batman-adv
batman-adv: fix packet loss for broadcasted DHCP packets to a server
2018-05-30 07:50:38 +02:00
bluetooth
Bluetooth: Fix connection if directed advertising and privacy is used
2018-04-20 08:21:07 +02:00
bridge
netfilter: ebtables: handle string from userspace with care
2018-06-26 08:08:05 +08:00
caif
net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx
2017-07-05 14:40:14 +02:00
can
can: af_can: canfd_rcv(): replace WARN_ONCE by pr_warn_once
2018-01-31 12:55:50 +01:00
ceph
libceph: validate con->state at the top of try_write()
2018-05-01 15:13:09 -07:00
core
rtnetlink: validate attributes in do_setlink()
2018-06-13 16:16:43 +02:00
dcb
net: dcb: set error code on failures
2016-12-03 23:54:25 -05:00
dccp
dccp: don't free ccid2_hc_tx_sock struct in dccp_disconnect()
2018-06-13 16:16:41 +02:00
decnet
dn_getsockoptdecnet: move nf_{get/set}sockopt outside sock lock
2018-02-25 11:05:44 +01:00
dns_resolver
KEYS: DNS: limit the length of option strings
2018-04-29 11:32:00 +02:00
dsa
net: dsa: select NET_SWITCHDEV
2017-11-15 15:53:17 +01:00
ethernet
net: introduce device min_header_len
2017-02-18 15:11:43 +01:00
hsr
hsr: fix incorrect warning
2018-04-13 19:48:29 +02:00
ieee802154
net: ieee802154: fix net_device reference release too early
2018-04-13 19:48:04 +02:00
ipv4
tcp: verify the checksum of the first data segment in a new connection
2018-06-26 08:08:07 +08:00
ipv6
tcp: verify the checksum of the first data segment in a new connection
2018-06-26 08:08:07 +08:00
ipx
ipx: call ipxitf_put() in ioctl error path
2017-05-25 15:44:41 +02:00
irda
irda: do not leak initialized list.dev to userspace
2017-08-30 10:21:42 +02:00
iucv
net/iucv: Free memory obtained by kzalloc
2018-03-31 18:11:34 +02:00
kcm
kcm: Fix use-after-free caused by clonned sockets
2018-06-13 16:16:42 +02:00
key
af_key: Always verify length of provided sadb_key
2018-06-16 09:52:32 +02:00
l2tp
l2tp: revert "l2tp: fix missing print session offset info"
2018-05-19 10:27:00 +02:00
l3mdev
net: ipv6: Remove l3mdev_get_saddr6
2016-09-10 23:12:53 -07:00
lapb
net/lapb: tuse %*ph to dump buffers
2016-05-29 22:33:25 -07:00
llc
llc: properly handle dev_queue_xmit() return value
2018-05-30 07:50:39 +02:00
mac80211
mac80211: drop frames with unexpected DS bits from fast-rx to slow path
2018-05-30 07:50:30 +02:00
mac802154
mac802154: use rate limited warnings for malformed frames
2016-09-19 20:19:34 +02:00
mpls
mpls, nospec: Sanitize array index in mpls_label_ok()
2018-03-11 16:21:34 +01:00
ncsi
net/ncsi: Improve HNCDSC AEN handler
2016-10-20 11:23:08 -04:00
netfilter
ipvs: fix buffer overflow with sync daemon and service
2018-06-26 08:08:05 +08:00
netlabel
netlabel: If PF_INET6, check sk_buff ip header version
2018-05-30 07:50:51 +02:00
netlink
netlink: fix uninit-value in netlink_sendmsg
2018-05-16 10:08:40 +02:00
netrom
nfc
NFC: llcp: Limit size of SDP URI
2018-05-30 07:50:28 +02:00
openvswitch
openvswitch: Remove padding from packet before L3+ conntrack processing
2018-05-30 07:50:23 +02:00
packet
packet: fix reserve calculation
2018-06-13 16:16:42 +02:00
phonet
qrtr
qrtr: add MODULE_ALIAS macro to smd
2018-05-30 07:50:32 +02:00
rds
RDS: IB: Fix null pointer issue
2018-05-30 07:50:25 +02:00
rfkill
rfkill: gpio: fix memory leak in probe error path
2018-05-16 10:08:43 +02:00
rose
rose: limit sk_filter trim to payload
2016-07-13 11:53:40 -07:00
rxrpc
rxrpc: Don't treat call aborts as conn aborts
2018-05-30 07:50:42 +02:00
sched
net/sched: act_simple: fix parsing of TCA_DEF_DATA
2018-06-26 08:08:06 +08:00
sctp
sctp: not allow transport timeout value less than HZ/5 for hb_timer
2018-06-13 16:16:43 +02:00
strparser
strparser: Fix incorrect strp->need_bytes value.
2018-04-29 11:32:02 +02:00
sunrpc
rpc_pipefs: fix double-dput()
2018-04-24 09:34:17 +02:00
switchdev
switchdev: Execute bridge ndos only for bridge ports
2016-10-19 10:58:04 -04:00
tipc
tipc: add policy for TIPC_NLA_NET_ADDR
2018-04-29 11:32:01 +02:00
unix
net/unix: don't show information about sockets from other namespaces
2017-11-18 11:22:22 +01:00
vmw_vsock
vsock: cancel packets when failing to connect
2017-12-25 14:23:38 +01:00
wimax
wireless
cfg80211: limit wiphy names to 128 bytes
2018-05-25 16:12:59 +02:00
x25
net: x25: fix one potential use-after-free issue
2018-04-13 19:48:00 +02:00
xfrm
xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM)
2018-05-19 10:27:00 +02:00
compat.c
net: support compat 64-bit time in {s,g}etsockopt
2018-05-19 10:26:58 +02:00
Kconfig
strparser: Stream parser for messages
2016-08-17 19:36:23 -04:00
Makefile
strparser: Stream parser for messages
2016-08-17 19:36:23 -04:00
socket.c
bpf: introduce BPF_JIT_ALWAYS_ON config
2018-01-31 12:55:56 +01:00
sysctl_net.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2016-10-06 09:52:23 -07:00