From nobody Tue Jan 14 14:43:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YXX1l3Fdbz5kmKH; Tue, 14 Jan 2025 14:43:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1k3P40z3gxj; Tue, 14 Jan 2025 14:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hFjokFCsOeP2NmLCiL3OOxc0osbp6c5KyIX6i4wI4xg=; b=l+vQncYML16ApLoY1hDqzlWVqdPgtJ48Z9V4yZIgJjEPiYCKZJDfWd888UIzZrEZRvLOZ0 lEWfQRMTfAT3jXRfVudR1bS6nOTp3QryB6+ibSQSQKePDuOdf8piKn1fvEK1st3ofWuJh+ XI3/zUXTPPNMi9NKgcH7FithJF/LrlDzAag0ASnak3AePCvwikMRict72TdsL/t4JriO3/ OIeHwJ4Hph7tmvLXWpxG8oUBqW7+6JpDf2FFSShFW4kOSnATd4sUIHMW4L7yNDqjKEPriU lA1kwrowUyL/4dmrhbVYGESzPVk7hn+PMlEbcQBp+2Yrr3oESQJVDIHRQTeInA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hFjokFCsOeP2NmLCiL3OOxc0osbp6c5KyIX6i4wI4xg=; b=Pb6Mislvid+p63KSAVnckw1l28mu6nArmenbvQYLoZFAoE/03XYpJbVmqosZXbQ3R1MWag kN8DOHpRKfZ1FZc9EYmj4KfKphTWfcWTfYSsS+bP4P9ht/1TYQOGsaET/a4t9XUn5NG6x+ X+23VMxnFeWYhdjfp7AA/DND2CnJBORH/UVbf5T50BO6pPJrA2+67IHMD4ikgjzzA0EfMW 49gSnTbYleZ9J0pkj7OXGHLQ9a4WQ+MfjzaAQJKMrGJHPGsuKNzMWltIewovM/oCiQTwEb niRoSANXlmLp68X8jYBf6NR+fIp7OelkI19c9BASnuw10s0CNJn3uzUlIQ445A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865818; a=rsa-sha256; cv=none; b=QnauCvJwZ4bmqpBvblD5ZSTSnI0UIqzwke8bGdcHjTlMbv4f5vyVDCikF8n2d48RaE/pM9 r5vHD0dmbWk7xBbeouDHeP8C7sPJ/oE9PtRPj9FLi2QD1wZsKgVbYb/U763WzcUlX3OBtK Xf6pzVwn/h95YIEnbutPGzlobWiI+G39a1Bqj2cX8D+ZZVObmNcM+vnfLykvVFAiSrBOKt ccmWRc06orJsHyNEN+exBB+DSRWF+LguWTs0wufvDb28fHDJb904eJ34x0bkVfcVrfc5MY 3w0cYD3I4yY+YMpHeeSij6mnc7NRe6Nan9t4iyWyuC4P9MxToPv453EtLA1qzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YXX1k2rMPz1Kgl; Tue, 14 Jan 2025 14:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhcqt014345; Tue, 14 Jan 2025 14:43:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhcEU014342; Tue, 14 Jan 2025 14:43:38 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:38 GMT Message-Id: <202501141443.50EEhcEU014342@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: e39435733339 - stable/14 - rawip: Take the inpcb lock when appropriate in rip_ctloutput() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e3943573333937b881d4b7839c0b7d8595753d21 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e3943573333937b881d4b7839c0b7d8595753d21 commit e3943573333937b881d4b7839c0b7d8595753d21 Author: Mark Johnston AuthorDate: 2025-01-07 02:20:05 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:35 +0000 rawip: Take the inpcb lock when appropriate in rip_ctloutput() Reviewed by: glebius MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D48344 (cherry picked from commit fd94571ccf0c9c6521063c08a72a760873e87897) --- sys/netinet/raw_ip.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 04b12b6587dd..c30878d48c74 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -627,8 +627,6 @@ rip_send(struct socket *so, int pruflags, struct mbuf *m, struct sockaddr *nam, * * When adding new socket options here, make sure to add access control * checks here as necessary. - * - * XXX-BZ inp locking? */ int rip_ctloutput(struct socket *so, struct sockopt *sopt) @@ -639,7 +637,9 @@ rip_ctloutput(struct socket *so, struct sockopt *sopt) if (sopt->sopt_level != IPPROTO_IP) { if ((sopt->sopt_level == SOL_SOCKET) && (sopt->sopt_name == SO_SETFIB)) { + INP_WLOCK(inp); inp->inp_inc.inc_fibnum = so->so_fibnum; + INP_WUNLOCK(inp); return (0); } return (EINVAL); @@ -709,10 +709,12 @@ rip_ctloutput(struct socket *so, struct sockopt *sopt) sizeof optval); if (error) break; + INP_WLOCK(inp); if (optval) inp->inp_flags |= INP_HDRINCL; else inp->inp_flags &= ~INP_HDRINCL; + INP_WUNLOCK(inp); break; case IP_FW3: /* generic ipfw v.3 functions */