Index | Thread | Search

From:
Alexander Bluhm <bluhm@openbsd.org>
Subject:
mark IPv6 route6 and dest6 input MP-safe
To:
tech@openbsd.org
Date:
Thu, 22 May 2025 15:48:10 +0900

Download raw body.

Thread
Hi,

Both functions dest6_input() and route6_input() for IPv6 destination
options and routing header do not use global state.  Mark them as
MP-safe.  Note that ip6_unknown_opt() is already running in parallel
for hop-by-hop options.

ok?

bluhm

Index: netinet6/in6_proto.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/netinet6/in6_proto.c,v
diff -u -p -r1.127 in6_proto.c
--- netinet6/in6_proto.c	20 May 2025 18:41:06 -0000	1.127
+++ netinet6/in6_proto.c	22 May 2025 06:10:19 -0000
@@ -183,14 +183,14 @@ const struct protosw inet6sw[] = {
   .pr_type	= SOCK_RAW,
   .pr_domain	= &inet6domain,
   .pr_protocol	= IPPROTO_DSTOPTS,
-  .pr_flags	= PR_ATOMIC|PR_ADDR,
+  .pr_flags	= PR_ATOMIC|PR_ADDR|PR_MPINPUT,
   .pr_input	= dest6_input
 },
 {
   .pr_type	= SOCK_RAW,
   .pr_domain	= &inet6domain,
   .pr_protocol	= IPPROTO_ROUTING,
-  .pr_flags	= PR_ATOMIC|PR_ADDR,
+  .pr_flags	= PR_ATOMIC|PR_ADDR|PR_MPINPUT,
   .pr_input	= route6_input
 },
 {