From nobody Wed Dec 10 19:22:13 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 4dRQZt2hScz6L1lJ for ; Wed, 10 Dec 2025 19:22:14 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dRQZt00kqz40r4 for ; Wed, 10 Dec 2025 19:22:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765394534; 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=Q/j9ZrW4+atmu1D+jklslLwS7MNeub1XU38hxKXpvKw=; b=Z8pdTMx5yXrqZ1Ut+ii2ZIgW5Q+oIevan9XSSfm5mPLjYbuW4X7vwHJfaqIBJVhVP1lrn0 TbSogYcAhSgPEhVLYXOOvQvNkq9us588wj1okU14NFxJogaEa7GhDYyuN9A+yLy24fzgxc Iz0Dpmik/tzKS7G5kM/kX4k1r81zjWrlsZu9JTgjhsbNBOtzxIIJiMyPqHK1XIuVDUq2fJ a0XEPGE5oaTT64HkWpa4sSs1kSfC/ltw5J8vlPMHSAUy4w/B7sU+PnX82uWGikD2NCuMRE ZqGpqva0+oDkogxaxuqZdoEtOaSrfRq7D8uT2CtDBYgIJPx2TPnGMk0gteY3vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765394534; 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=Q/j9ZrW4+atmu1D+jklslLwS7MNeub1XU38hxKXpvKw=; b=LTeLgladCEt4SoDE7wnDeK/WB0X4zavH3h7HqL8jPMu65NDivSXxTjHGemojUHraoUAX38 q21i1xggbZjYaSEmN8sOL4jJj8yIUpP3m7K6+dv2AUg3Y+BR1MOrYWRgGBqlpAoeinahqK d+3kGlkquyiC/XLN8q/wRFbQGUKgz2462XFy6Bl++EycIk+Vbjpqy0jChH+CaYudi3orJm +jUoTUrLORA/gRBJhwAHIA11NPl0GbB/qTH8s2eK84Q+CGSAi+BBJvkz9c3jZgaA8zZP/7 a+X1Kfz7h17OBTDGjjjMFG/xy5SFQb86Pde+Cz2Wabv+4Nb+YpA8RvQdyYnKPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1765394534; a=rsa-sha256; cv=none; b=MYBHbwxrqg0QWPycuvqkiiCp0vZbkI5860FbrCm9jXUQ78d7YeHo1WMAeJOjFFu1KJHk7R 6siPjGx0wP6ODCuoRvsEDtApzDmw0GLtjSGGja1fM5zbrkBL5H7IA8DzO1R1PZDGjVVS6J 1tS5q/f0RoPl3nAXiKJnTnWk0qGSuQhmZRkBvmzonzwMhrCXHE9PdZS8JxiiqIJb5GKQ4D i/sVBP8LubZSGVxB/tnDfbQEtlPMPXtRCt37qIN/bMjNW83t2pDnRlNLcvmeDFmkFcUIOU BaMAbV5EN3nLNetdpIseksxR2p3DKMNprcM9eaqWClYKw5iAG3d28oM2NdwJBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dRQZs6fS3zyNs for ; Wed, 10 Dec 2025 19:22:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26fbe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 10 Dec 2025 19:22:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 89eddfb4b9f5 - main - linux: fix panic on kldunload 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 89eddfb4b9f5d744623ce0ee8ea966b0d33456e5 Auto-Submitted: auto-generated Date: Wed, 10 Dec 2025 19:22:13 +0000 Message-Id: <6939c865.26fbe.36b38dfe@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=89eddfb4b9f5d744623ce0ee8ea966b0d33456e5 commit 89eddfb4b9f5d744623ce0ee8ea966b0d33456e5 Author: Gleb Smirnoff AuthorDate: 2025-12-10 19:20:14 +0000 Commit: Gleb Smirnoff CommitDate: 2025-12-10 19:20:14 +0000 linux: fix panic on kldunload The vnet_deregister_sysuninit() that is called by linker unload sequence also calls every registered destructor before unregistering it. IMHO, this is not correct in principle, but for now plug the regression right in the code that introduced the panic. Fixes: 607f11055d2d421770963162a4d9a99cdd136152 --- sys/compat/linux/linux_if.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/compat/linux/linux_if.c b/sys/compat/linux/linux_if.c index 1281207c1c84..b342b07a6722 100644 --- a/sys/compat/linux/linux_if.c +++ b/sys/compat/linux/linux_if.c @@ -105,6 +105,13 @@ VNET_SYSINIT(linux_ifnet_vnet_init, SI_SUB_PROTO_IF, SI_ORDER_ANY, static void linux_ifnet_vnet_uninit(void *arg __unused) { + /* + * At a normal vnet shutdown all interfaces are gone at this point. + * But when we kldunload linux.ko, the vnet_deregister_sysuninit() + * would call this function for the default vnet. + */ + if (IS_DEFAULT_VNET(curvnet)) + clear_unrhdr(V_linux_eth_unr); delete_unrhdr(V_linux_eth_unr); } VNET_SYSUNINIT(linux_ifnet_vnet_uninit, SI_SUB_PROTO_IF, SI_ORDER_ANY,