-
- Downloads
UPSTREAM: tcp: avoid infinite loop in tcp_splice_read()
Splicing from TCP socket is vulnerable when a packet with URG flag is received and stored into receive queue. __tcp_splice_read() returns 0, and sk_wait_data() immediately returns since there is the problematic skb in queue. This is a nice way to burn cpu (aka infinite loop) and trigger soft lockups. Again, this gem was found by syzkaller tool. Fixes: 9c55e01c ("[TCP]: Splice receive support.") Signed-off-by:Eric Dumazet <edumazet@google.com> Reported-by:
Dmitry Vyukov <dvyukov@google.com> Cc: Willy Tarreau <w@1wt.eu> Signed-off-by:
David S. Miller <davem@davemloft.net> (cherry picked from commit ccf7abb93af09ad0868ae9033d1ca8108bdaec82) Signed-off-by:
Roberto Pereira <rpere@google.com> Bug:37901268 Change-Id: I8576f6f9a2b0e5acd4d89a8dde5234555cee305d
Loading
Please register or sign in to comment