Index | Thread | Search

From:
Alexander Bluhm <bluhm@openbsd.org>
Subject:
Re: mark IPv6 route6 and dest6 input MP-safe
To:
tech@openbsd.org
Date:
Thu, 19 Jun 2025 20:08:42 +0200

Download raw body.

Thread
On Thu, May 22, 2025 at 03:48:10PM +0900, Alexander Bluhm wrote:
> 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?

anyone?

> 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
>  },
>  {