From owner-freebsd-net@freebsd.org Mon Feb 3 05:32:22 2020 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 97673243B1D for ; Mon, 3 Feb 2020 05:32:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 489xKf3LGjz46WW; Mon, 3 Feb 2020 05:32:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.codepro.be", Issuer "Let's Encrypt Authority X3" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 598DC194BB; Mon, 3 Feb 2020 05:32:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from [192.168.183.1] (unknown [IPv6:2603:3024:1548:3800:992b:ed70:7234:9de8]) (Authenticated sender: kp) by venus.codepro.be (Postfix) with ESMTPSA id 41B74BDD2; Mon, 3 Feb 2020 06:32:19 +0100 (CET) From: "Kristof Provost" To: "Rick Macklem" Cc: freebsd-net Subject: Re: Does sosend() need CURVNET_SET/CURVNET_RESTORE? Date: Sun, 02 Feb 2020 21:32:16 -0800 X-Mailer: MailMate (1.13.1r5671) Message-ID: In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Feb 2020 05:32:22 -0000 On 2 Feb 2020, at 13:22, Rick Macklem wrote: > The current krpc code calls sosend() and soreceive() without any > CURVNET_SET()/CURVNET_RESTORE() wrapped around them. > sosend() and soreceive() do the CURVENT_SET()/CURVNET_RESTORE() dance for you. > When I recently used sosend_generic(), it panic'd without them. > sosend_generic() does not, because usually sosend() calls it, so it’d already be set. Best regards, Kristof