From nobody Wed May 7 04:22:39 2025 X-Original-To: dev-commits-src-main@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 4Zshv46RcDz5vjSy; Wed, 07 May 2025 04:22:40 +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 4Zshv40L78z4727; Wed, 07 May 2025 04:22:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746591760; 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=KkrC0t/v/ldzeFr/MWZ1mnyMmLV1CMIIgnGL6l8Tams=; b=c4rnJbC8ywxSbigE+IZfkbRSMaMjXh5urgcUztcGVZJ/Y+zArsQyzfktT9+g+LAfmKl297 olT0pmgq3gQ2M7dWGjDoptp2KcPou2PVmTq3ZuuqacuOqPuJuZB8lKD24O0OQegnpAZp5V zPctOkO1y/BmPQYArbf/dyurO8S0kljMvGR/iply44NROuE6EcubT03HTvGa0cGjt+QEvX y/fKv4/X0HzD2ARrlobObCoxGM2lD5AyCX2fARWsxdqXZnRQWSn2Ga/3j6WOGVRLpf8qYi t0cLIWgGgmHxi04n6tdhGAJZWonkodKnzCG7qXI+dgm1yySnGl2tTjLM1XvMSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746591760; 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=KkrC0t/v/ldzeFr/MWZ1mnyMmLV1CMIIgnGL6l8Tams=; b=RSmskcBQ/h7UKSn0NKdsf8LfE4Lm+bmxAnMlx/caS+Fm5NJPlkwj7qPlwVY0AwoyC/2KHz gk/90LlSnqR2TxxhOZUZBRTiZ3CBHqIwpICk6XEuVvQBTWREOUSYlEsYJv5kcvK8WWS+rh Dr3SiqnuOO5trdo7dP9zrWPl4/QUMTLJ7FNmhyvkVvWV2IPJhOjGfdJRJKbYdyQDUjz/3c eNRer3/kgLpqB2eQWnDdW+bnCAKNyhqf7hBLS5kjlFWKWt829mOdsga8TVbLZDyH2K3bVn 1a5oZZXNyMP1+h8ZimqPw8KfzIQHkcPP1VhLPyetVj8lPCT9Ao2JNdOOABP0fw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1746591760; a=rsa-sha256; cv=none; b=Vmb6WvOJZWrz8BW0/wFT6hPhlmfbPIfp5TlP8bJWF7Qvd9FR16Hgb0csM1y9eSQP2GPmmW hkS79uHYhdMjcefHVKxjg5zyco1UDd/N8R3Ih+mmtuOBVAWJsWasVmTQLYESmSJQk7xr/5 dt5zFrXaKcVsBb089JV4znQzBCdg362qkCqigOuoraoAsblqIYqkRyz0Y2zHl4Bn1j154V Eia1yady382O4yGuSt2QhI6GsTJgkKg1iEsvm8GWScJu+64LP5P2Z43bOhrQWXIAzwpnHA 3A1k6ObdGc609iJZQEZtINRZeAJkxMb21e6C5oMhrFJVHnxbcRlnoW5AmX5Ieg== 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 4Zshv36y8Fz1S6l; Wed, 07 May 2025 04:22:39 +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 5474MdiK054900; Wed, 7 May 2025 04:22:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5474MdGJ054897; Wed, 7 May 2025 04:22:39 GMT (envelope-from git) Date: Wed, 7 May 2025 04:22:39 GMT Message-Id: <202505070422.5474MdGJ054897@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 68e73f03655c - main - sys: don't panic on ifm_status being NULL List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 68e73f03655c308442a8354ee2c040df23f234b6 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=68e73f03655c308442a8354ee2c040df23f234b6 commit 68e73f03655c308442a8354ee2c040df23f234b6 Author: Adrian Chadd AuthorDate: 2025-05-03 15:41:56 +0000 Commit: Adrian Chadd CommitDate: 2025-05-07 04:22:18 +0000 sys: don't panic on ifm_status being NULL Some ethernet drivers that use miibus aren't probe/attaching the miibus early enough for the ifioctl path to correctly run without panicing. Although yes, the drivers do need fixing, this stops them from immediately panicing the kernel when they're loaded. PR: kern/286530 Differential Revision: https://reviews.freebsd.org/D50136 Reviewed by: jhb --- sys/net/if_media.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sys/net/if_media.c b/sys/net/if_media.c index 0cc88a0929e9..bdf9f8ad20c4 100644 --- a/sys/net/if_media.c +++ b/sys/net/if_media.c @@ -59,6 +59,7 @@ #include #include +#include /* for if_printf() */ #include /* @@ -290,6 +291,22 @@ ifmedia_ioctl(struct ifnet *ifp, struct ifreq *ifr, struct ifmedia *ifm, } ifmr->ifm_mask = ifm->ifm_mask; ifmr->ifm_status = 0; + + /* + * Don't panic if ifm_status isn't yet setup due to + * driver/miibus probe ordering. This can happen if + * a kldload'ed driver doesn't set the module order + * to setup miibus early enough. + * + * See kern/286530 for more information. + */ + if (ifm->ifm_status == NULL) { + if_printf(ifp, + "%s: ifm_status is NULL; please fix miibus/driver" + " order\n", + __func__); + return (EDOOFUS); + } (*ifm->ifm_status)(ifp, ifmr); /*