From nobody Mon May 4 16:51:18 2026 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 4g8SMq3g8Mz6br1f for ; Mon, 04 May 2026 16:51:19 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g8SMq1Yk9z3wGK for ; Mon, 04 May 2026 16:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913479; 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=vbOxY0OsVvlXXd4IWqDJBL5IlBNlu+y5SAQsuUliZU8=; b=XbUN6YthCd0D5uQe5QTKoA0X8Yyo6DWEa/5ChWR5ZYPcJrDVmGpdA0dajs3QIJVF3TNSRj 7H9Bfm0BLlfnncaJRIWOg0rELbqPx7UZKTK4dI18FvYRwmR3LbqW1E7oZ/UAPJG+38y4po R0GqJM4rfVwsBJkIPqdcPbByGCcu0qKLZUwZxlunuC6/pTJUKZVjdaNlUB37vTN9mkW1Kd BcX019dvlk5GJZeVHygk8PLlPiCTStG5jY/YCgjiaw8Z+qO5s7q73pxyG/EVoGo1nbvdLl Dzji3xlkkXsZYUO00tjyUX8JDSxctGLt7E2gnXLCUb7dJtX7UrypfJopdJf5kg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777913479; a=rsa-sha256; cv=none; b=E9gfUhyKNulm+cz5Zr77jtYgJNltuwCFVnmwhrEXlNiFZRlpfQnJ3Hnt3/WAn5zhKUODNb ElVT1/YM9ytZJcmDVBKjUdzh/20VZpNY0ckrAOpCPdmYyrimspLmB04epGZyErAlrnH6Vk 0Xd+eYag9VtQ0RPAh0EehVZUslQQEMZJN5dRRuRy60PGwTP3OTkvrUTtjK2E0nd1eD6q7a gvJc/jqCqvTuGnKJCP4e4f9e44oqkOWeJXfsIVZr/3zLpIhAY15igW3qB1KPXUoIZFmw0v o9pspTIlXDHJ82OtPIxo00Q7iTLbsZL8PqaeUu4nm8vKhwItRJiQ7RLT6rKPdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777913479; 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=vbOxY0OsVvlXXd4IWqDJBL5IlBNlu+y5SAQsuUliZU8=; b=qV3tKODb0JDIxux/jocLYVA+AKijGuXRxVHjSHLxdrkIDcBvE3p/YCuyFlaamTaGfWuTIe hJr7Qx253zuGycTNqR6Lj5ykgFniAELOI2EIz8G0KNhrcpxoEARFf2G6aiwV1cdRjxT4sn X/pTOfJJAaIvaoAGoF5CIxXZR/7E9dXLAfiQSptud1U1L+NPJC0/xVfuJXya32xxNswHb/ cbYd6O31TpjDvsvZ9yZD+H2Nk+1KyNoITlhfnuTrcO5aHMSq6lxjs/q6pw/ui9ENJCLHBD Zst4DWTgbj+l+J+Naeikj3VFlmRIdGZrlEypXX9crW/XZ42PcV9kf+vqNKgEkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8SMq0VQZzCrT for ; Mon, 04 May 2026 16:51:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25b41 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:51:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 320805add13d - stable/14 - tests/net/if_clone_test: Add a test for races between if_detach() and if_vmove_reclaim() 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 320805add13ddf8e680d88f5c9b3ae3b6a49f6cf Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:51:18 +0000 Message-Id: <69f8ce86.25b41.10828a42@gitrepo.freebsd.org> The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=320805add13ddf8e680d88f5c9b3ae3b6a49f6cf commit 320805add13ddf8e680d88f5c9b3ae3b6a49f6cf Author: Zhenlei Huang AuthorDate: 2026-04-27 19:17:21 +0000 Commit: Zhenlei Huang CommitDate: 2026-05-04 16:49:42 +0000 tests/net/if_clone_test: Add a test for races between if_detach() and if_vmove_reclaim() Ideally we shall have tests for all possible races. It is races between if_detach(), if_vmove_loan(), if_vmove_reclaim() and vnet_if_return(). Well that requires too many tests and it appears to be less valuable to have them all. So focus on potential in future regressions related to recent fixes [1] and [2] only. [1] ee9456ce3753 ifnet: Fix races in if_vmove_reclaim() [2] ba7f47d47dc1 ifnet: if_detach(): Fix races with vmove operations MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56606 (cherry picked from commit f4be16983dea4904f85ac20e921ad2a8c18a0f79) (cherry picked from commit 696d1590697e9d4c0f07ce0a8d76a62bc77bdfd5) --- tests/sys/net/if_clone_test.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/sys/net/if_clone_test.sh b/tests/sys/net/if_clone_test.sh index de7384d9053c..7dbfc7759cd5 100755 --- a/tests/sys/net/if_clone_test.sh +++ b/tests/sys/net/if_clone_test.sh @@ -96,6 +96,34 @@ epair_destroy_race_cleanup() cleanup_ifaces } +atf_test_case epair_destroy_race2 cleanup +epair_destroy_race2_head() +{ + atf_set "descr" "Race if_detach() and if_vmove_reclaim()" + atf_set "require.user" "root" +} +epair_destroy_race2_body() +{ + jid=$(jail -ic vnet host.hostname="epair_destroy2" persist path=/) + + for i in `seq 1 10` + do + epair_a=$(ifconfig epair create) + epair_b=${epair_a%a}b + ifconfig $epair_b vnet $jid + ifconfig $epair_a destroy & pid1=$! + ifconfig $epair_b -vnet $jid & pid2=$! + wait $pid1 + wait $pid2 + done + + jail -R $jid + true +} +epair_destroy_race2_cleanup() +{ +} + atf_test_case epair_ipv6_up_stress cleanup epair_ipv6_up_stress_head() { @@ -433,6 +461,7 @@ atf_init_test_cases() atf_add_test_case epair_stress atf_add_test_case epair_up_stress atf_add_test_case epair_destroy_race + atf_add_test_case epair_destroy_race2 atf_add_test_case faith_ipv6_up_stress atf_add_test_case faith_stress atf_add_test_case faith_up_stress