On Mon, Jun 12, 2023 at 11:56:43PM +0300, Vitaliy Makkoveev wrote:
> ...
> We have missing kernel lock around (*if_sysctl)(). Diff below should fix
> it.
> 
> Index: sys/netinet/ip_mroute.c
> ===================================================================
> RCS file: /cvs/src/sys/netinet/ip_mroute.c,v
> retrieving revision 1.138
> diff -u -p -r1.138 ip_mroute.c
> --- sys/netinet/ip_mroute.c   19 Apr 2023 20:03:51 -0000      1.138
> +++ sys/netinet/ip_mroute.c   12 Jun 2023 20:55:05 -0000
> @@ -718,7 +718,9 @@ add_vif(struct socket *so, struct mbuf *
>               satosin(&ifr.ifr_addr)->sin_len = sizeof(struct sockaddr_in);
>               satosin(&ifr.ifr_addr)->sin_family = AF_INET;
>               satosin(&ifr.ifr_addr)->sin_addr = zeroin_addr;
> +             KERNEL_LOCK();
>               error = (*ifp->if_ioctl)(ifp, SIOCADDMULTI, (caddr_t)&ifr);
> +             KERNEL_UNLOCK();
>               if (error)
>                       return (error);
>       }

Cool, well, not cool, but you know what I mean ... another problem fixed.
:-) Thanks for the support.

The system is running the 7.3 release, can I apply that patch directly
there somehow, or would I need to be using current / a snapshot?

Thanks again.

Cheers,
Robb.

Reply via email to