Index | Thread | Search

From:
David Gwynne <david@gwynne.id.au>
Subject:
tun(4)/tap(4): run the network stack with shared net lock
To:
tech@openbsd.org
Date:
Tue, 25 Nov 2025 22:01:02 +1000

Download raw body.

Thread
pretty sure we can push packets through the stack with NET_LOCK_SHARED.

ok?

Index: if_tun.c
===================================================================
RCS file: /cvs/src/sys/net/if_tun.c,v
diff -u -p -r1.253 if_tun.c
--- if_tun.c	4 Nov 2025 12:02:39 -0000	1.253
+++ if_tun.c	25 Nov 2025 11:59:33 -0000
@@ -1034,9 +1034,9 @@ tun_dev_write(dev_t dev, struct uio *uio
 		m = n;
 	}
 
-	NET_LOCK();
+	NET_LOCK_SHARED();
 	if_vinput(ifp, m0, NULL);
-	NET_UNLOCK();
+	NET_UNLOCK_SHARED();
 
 	tun_put(sc);
 	return (0);