From nobody Wed Jul 19 23:37:53 2023 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 4R5sgk1z2kz4nt0v; Wed, 19 Jul 2023 23:37:54 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R5sgk0LXqz4LwX; Wed, 19 Jul 2023 23:37:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1689809874; 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=gZ86NUyN2zHvdNk8kCdkkXN5ngfOHOfsocdFHOtdzCQ=; b=IAdYqAegQzbkz7o21v4xrL57AcSHoLn+wkYINfdNSBd3dLvXE63kmNdpXfGAGN01uPxBtO B6gDn6vX2kQxACCTTtxO21H9niZyUZoIhcoottGU9r9urGL4jTyKkj/I18YOh9Yd/rviSt uBT0+0jDnVZeU+lynkvDtkcpyC5bKPpRacpKftrcUKE9iB3h2z752aG05553CVOIypcVgV 6lDrXN32EODjMlI5oawPJe/493S9gHTL4elQTOKm8nmmk/KkiN43sPyiWU8l1TDCTWwMVe O9hY9Tw1QSbr14dy27C7cekBdt0S6Kx5U2JzntaingFfeU+lxPc+pfEV+nXy9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1689809874; 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=gZ86NUyN2zHvdNk8kCdkkXN5ngfOHOfsocdFHOtdzCQ=; b=gJwcUtY7IdPmcoZwOt28uuWAFq3cw/FHJnPCS6nwW0EOCS6Z0UQQNj916gGhYnQyH/pYhc PcKpBbQXhD38PgkMDXjcjlplbP/Q14XZ8X/iI/IWOUZ44xZZecyS/7ueHvV4WN3JHUvdxM 0U7vuw0dbUsdC/XfV17yr6QPF5eklAtU8Sg3za5aH7AYC//mKFzmKiZBs2/8X6UVNmobXJ yLIQs5WSprxyR8UMDvsqRkd969yL1RjhgUjfW9bF9qE5TFEsznRK8NhPXFiQIbk6UbdXJG QPv2nimUcKwakVQWVaQBcKNWH7Tavw1N2T7xZ6jptkmv6ARSTjbkmedq2DxQ/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1689809874; a=rsa-sha256; cv=none; b=WXUGv4k4B+igQGSqrNUjiSgMNZUyYQUI5cEbFT+0NnL/OHMc3znH2xhWPd4BbLhv20IIUT TLvmQULUH6WoXwEobFmvREylY3xIsdFFBiaGzd/cFDBX3DCOrZ6tYi4fElfrJb0gME6Rj8 JvhEmi7cCi5YsnU+L6ZaQT41Wd/fktaVZTVP+TDzKTG1XhzzU4x2cVQ3r71TxCsZtV++us R7shsO0cYfkj1m0Rpb1JDfPrXHR0vWhZ1qF1NCzE7MxsOyjJlMxT4XvKnVmDz0MZPVlDs0 OAWz6dUPn7xn7Sk8iSDfzvHDMfqujAHt6JPv3q6SbqLH+6I8EnhWfkpQnD681g== 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 4R5sgj6Xz3z17C3; Wed, 19 Jul 2023 23:37:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 36JNbrx1031273; Wed, 19 Jul 2023 23:37:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36JNbrLi031272; Wed, 19 Jul 2023 23:37:53 GMT (envelope-from git) Date: Wed, 19 Jul 2023 23:37:53 GMT Message-Id: <202307192337.36JNbrLi031272@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Eric Joyner Subject: git: a52f23f4c49e - main - iflib: Unlock ctx lock around call to ether_ifattach() 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a52f23f4c49e4766fb9eb0bf460cc83c5f63f17d Auto-Submitted: auto-generated The branch main has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=a52f23f4c49e4766fb9eb0bf460cc83c5f63f17d commit a52f23f4c49e4766fb9eb0bf460cc83c5f63f17d Author: Eric Joyner AuthorDate: 2023-07-19 22:40:46 +0000 Commit: Eric Joyner CommitDate: 2023-07-19 22:51:26 +0000 iflib: Unlock ctx lock around call to ether_ifattach() Panic occurs during loading driver using kldload. It exists since netlink is enabled. There is problem with double locking ctx. This fix allows to call ether_ifattach() without locked ctx. Signed-off-by: Eric Joyner PR: 271768 Reviewed by: erj@, jhb@ MFC after: 1 day Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D40557 --- sys/net/iflib.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index d056570d9a99..9f433481afda 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -5386,7 +5386,13 @@ iflib_device_register(device_t dev, void *sc, if_shared_ctx_t sctx, if_ctx_t *ct goto fail_queues; } + /* + * It prevents a double-locking panic with iflib_media_status when + * the driver loads. + */ + CTX_UNLOCK(ctx); ether_ifattach(ctx->ifc_ifp, ctx->ifc_mac.octet); + CTX_LOCK(ctx); if ((err = IFDI_ATTACH_POST(ctx)) != 0) { device_printf(dev, "IFDI_ATTACH_POST failed %d\n", err);