Thread (19 messages) 19 messages, 5 authors, 2025-01-21

Re: [PATCH net 1/2] vsock/virtio: discard packets if the transport changes

From: Luigi Leonardi <hidden>
Date: 2025-01-21 17:30:26
Also in: bpf, kvm, lkml, virtualization

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 :)

Cheers,
Luigi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help