This ensures the TCP/IPv4 and TCP/IPv6 behave the same.
Reported by: syzbot+4de353ba85dac4dcb1ab@syzkaller.appspotmail.com
Differential D51125
tcp: don't allow to connect a TCP/IPv6 endpoint in TIME WAIT state Authored by tuexen on Jul 2 2025, 10:51 AM. Tags None Referenced Files
Details
This ensures the TCP/IPv4 and TCP/IPv6 behave the same. Reported by: syzbot+4de353ba85dac4dcb1ab@syzkaller.appspotmail.com Ensure the following program does not result in a panic: #include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <unistd.h>
int
main(void)
{
struct sockaddr_in6 addr;
int fd;
fd = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP);
memset(&addr, 0, sizeof(struct sockaddr_in6));
addr.sin6_family = AF_INET6;
addr.sin6_len = sizeof(struct sockaddr_in6);
addr.sin6_port = htons(1234);
addr.sin6_addr = in6addr_loopback;
bind(fd, (struct sockaddr *)&addr, (socklen_t)sizeof(struct sockaddr_in6));
connect(fd, (struct sockaddr *)&addr, (socklen_t)sizeof(struct sockaddr_in6));
shutdown(fd, SHUT_WR);
sleep(1);
connect(fd, (struct sockaddr *)&addr, (socklen_t)sizeof(struct sockaddr_in6));
close(fd);
return (0);
}This assumes that sysctl net.inet.tcp.msl_local=60000 has been executed.
Diff Detail
Event Timeline |