opnsense-src/sys/netinet/tcp_stacks
Randall Stewart d48e7e89e0 TCP: Fix a rack bug that skyzall found which results in a crash.
So when we call the fast_rsm retransmit path, we should always move
snd_nxt back up to snd_max. In fact during ack-processing if snd_nxt
falls behind it should be moved up there as well. Otherwise what
can happen is we have an incorrect mark on snd_nxt and incorrectly
calculate the offset when we go through the  front path (which is
what skzyall was able to do) then when we go to clean up the
send the offset is all wrong and we crash.

Special thanks to Gleb for pointing out the problem and the email
that had the reproducer so I could find the issue.

Reported-by: syzbot+f5061a372f74f021ec02@syzkaller.appspotmail.com
Sponsored by: Netflix Inc

(cherry picked from commit 8818f0f1124ea3d0e8028f85d667237536eba10c)
2024-04-24 22:26:27 +02:00
..
bbr.c tcp bbr: improve code consistency 2024-04-17 16:02:33 +02:00
rack.c TCP: Fix a rack bug that skyzall found which results in a crash. 2024-04-24 22:26:27 +02:00
rack_bbr_common.c TCP LRO: convert TCP header fields to host byte order earlier 2024-04-17 15:42:13 +02:00
rack_bbr_common.h sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
sack_filter.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
sack_filter.h sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
tailq_hash.c netinet: The tailq_hash code doesn't reference tcpoutflags 2024-04-15 11:03:28 -07:00
tailq_hash.h Update rack to the latest code used at NF. 2023-04-04 16:05:46 -04:00
tcp_bbr.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
tcp_rack.h tcp rack: remove references to rb trees 2024-01-12 17:37:31 +01:00