android_kernel_google_msm/net/dccp
Sabrina Dubroca 82794d1071 BACKPORT: tcp: fix recv with flags MSG_WAITALL | MSG_PEEK
Currently, tcp_recvmsg enters a busy loop in sk_wait_data if called
with flags = MSG_WAITALL | MSG_PEEK.

sk_wait_data waits for sk_receive_queue not empty, but in this case,
the receive queue is not empty, but does not contain any skb that we
can use.

Add a "last skb seen on receive queue" argument to sk_wait_data, so
that it sleeps until the receive queue has new skbs.

Change-Id: If58492ae474effe058541f7e9a0c03dc24155393
Link: https://bugzilla.kernel.org/show_bug.cgi?id=99461
Link: https://sourceware.org/bugzilla/show_bug.cgi?id=18493
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1205258
Reported-by: Enrico Scholz <rh-bugzilla@ensc.de>
Reported-by: Dan Searle <dan@censornet.com>
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kevin F. Haggerty <haggertk@lineageos.org>
2023-02-18 18:36:52 +01:00
..
ccids dccp: fix info leak via getsockopt(DCCP_SOCKOPT_CCID_TX_INFO) 2012-10-02 10:29:37 -07:00
ackvec.c
ackvec.h
ccid.c
ccid.h dccp: check ccid before dereferencing 2012-09-14 10:00:34 -07:00
dccp.h module_param: make bool parameters really bool (net & drivers/net) 2011-12-19 22:27:29 -05:00
diag.c inet_diag: Rename inet_diag_req into inet_diag_req_v2 2012-01-11 12:56:06 -08:00
feat.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
feat.h
input.c dccp: fix freeing skb too early for IPV6_RECVPKTINFO 2017-03-15 20:29:48 +00:00
ipv4.c inet: Fix kmemleak in tcp_v4/6_syn_recv_sock and dccp_v4/6_request_recv_sock 2013-01-11 09:07:14 -08:00
ipv6.c ipv6: Handle PMTU in ICMP error handlers. 2021-01-23 17:16:44 +03:00
ipv6.h
Kconfig
Makefile
minisocks.c dccp: fix bug in sequence number validation during connection setup 2012-03-03 09:02:52 -07:00
options.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
output.c dccp: fix bug in sequence number validation during connection setup 2012-03-03 09:02:52 -07:00
probe.c
proto.c BACKPORT: tcp: fix recv with flags MSG_WAITALL | MSG_PEEK 2023-02-18 18:36:52 +01:00
qpolicy.c
sysctl.c
timer.c