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 tuexen on Jul 2 2025, 10:51 AM. Authored by 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 |