On 1/21/25 18:30, Luigi Leonardi wrote: > On Thu, Jan 09, 2025 at 02:34:28PM +0100, Michal Luczaj wrote: >> FWIW, I've tried simplifying Hyunwoo's repro to toy with some tests. >> Ended >> up with >> >> ``` >>from threading import * >>from socket import * >>from signal import * >> >> def listener(tid): >> while True: >> s = socket(AF_VSOCK, SOCK_SEQPACKET) >> s.bind((1, 1234)) >> s.listen() >> pthread_kill(tid, SIGUSR1) >> >> signal(SIGUSR1, lambda *args: None) >> Thread(target=listener, args=[get_ident()]).start() >> >> while True: >> c = socket(AF_VSOCK, SOCK_SEQPACKET) >> c.connect_ex((1, 1234)) >> c.connect_ex((42, 1234)) >> ``` >> >> which gives me splats with or without this patch. >> >> That said, when I apply this patch, but drop the `sk->sk_state != >> TCP_LISTEN &&`: no more splats. >> > Hi Michal, > > I think it would be nice to have this test in the vsock test suite. > WDYT? If you don't have any plans to port this to C, I can take care of > it :) Sure, go ahead, but note that this is just a (probably suboptimal) Python version of Hyunwoo's C repro[1]. [1]: https://lore.kernel.org/netdev/Z2LvdTTQR7dBmPb5@v4bel-B760M-AORUS-ELITE-AX/