Date: Mon, 3 Feb 2020 23:02:53 +0000 From: Rick Macklem <rmacklem@uoguelph.ca> To: Hans Petter Selasky <hps@selasky.org>, freebsd-net <freebsd-net@freebsd.org> Subject: Re: Does sosend() need CURVNET_SET/CURVNET_RESTORE? Message-ID: <YTBPR01MB3374AD4F73FF001D9D924F05DD000@YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM> In-Reply-To: <6ba3e3bd-d844-e685-7062-339e57438748@selasky.org> References: <YTBPR01MB337446173B7D480145BBB6C6DD010@YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM>, <6ba3e3bd-d844-e685-7062-339e57438748@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hans Petter Selasky wrote: >On 2020-02-02 22:22, Rick Macklem wrote: >> Hi, >> >> The current krpc code calls sosend() and soreceive() without any >> CURVNET_SET()/CURVNET_RESTORE() wrapped around them. >> >> When I recently used sosend_generic(), it panic'd without them. >> >> Do they need to be added around sosend()/soreceive()? >> >> I'll admit to knowing nothing about vnet. >> >> Thanks, rick > >What is the panic backtrace? I'd have to do it again to find out... >Usually one of these tree variants is used: > >CURVNET_SET(TD_TO_VNET(td)); >CURVNET_SET(ifp->if_vnet); >CURVNET_SET(so->so_vnet); I got rid of the panic by adding the third one, which is what I now see sosend() uses. However, if sosend() is calling sosend_generic(), I'll just call sosend(), which takes care of it. Thanks for your help, rick --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YTBPR01MB3374AD4F73FF001D9D924F05DD000>
