From nobody Tue Sep 19 14:29:38 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 4RqkZW26mBz4v0T8; Tue, 19 Sep 2023 14:29: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RqkZW1Y0Xz4cSR; Tue, 19 Sep 2023 14:29:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695133779; 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=QJ+SbstC/vMSY5pypjJ9acu9KPhKgvbL7IuEqSgV1KA=; b=Ikoq22MIt+hPhmWT4uTavX2QBbDHDyspZYhYl1l6oGotJxqo1uSaAM4Uq37wtCyIwtkSY0 dzyOgwJb7n3xba0U35BuqMnxYzadpnSIZBSLObDRisBcH/qGJcwH9iP8Z0iRNkD8vWG5xw eeUgEWkNMHXL+JJOTD1j32ksjhKlCymFC7KBYTjQ4auGW7f0hBmamk5XZlx26GLHtcGEaa B0profAc1ZGoCZs+BTc8PlBOZh6ps3rKq2MA5Ljek/wlzU76Neu6vIzR0HFEMHX79KJ0Z4 2GWP505Yn/I9dpGxBqg3MvxtAU82/Vr8qr7pOnnhkF5j79wHCG5Y9tuXvljfdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695133779; a=rsa-sha256; cv=none; b=bEM22GyMZHUls/ROhBEo/1t5eH5hshBc2h6LY8WnCzgYz/oAMsF2/zPHDfkCv21tz+ZyUA BFW8g1Nw+35soDJtnqfhaEss9r5un3SLAUJeDCqoZ1lfVn44xTFqwnIzG8pyJze9/v1MpA kSfJ/zHA6wfqBqlbS868ezfZXtrQRX8yqnDaLMTaYdU1em7bdKKX8qcy1Mox25AB8Ydchs 937vaY3AAeVfzCf9Jq3x3rCO7mKviEHA9YWQBq31+jnym/vMSa5RNbXrFbrJQJo+nz9jTZ X6AwpRhxl7OgG0RXMHnOlkeX1WVxg2/YgIldLvBQtWrD/LrGBxjeiBgpssaFIA== 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=1695133779; 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=QJ+SbstC/vMSY5pypjJ9acu9KPhKgvbL7IuEqSgV1KA=; b=TkZ9f4ZDLmIsisthxirZrnjK4ly18CaXYd42OmZt4IQ1V1BT0yYZ+x+zWZAKnHm/bTqHTb oR3L597MjOtQuLPMAZaM7ZX6FCBanyYohf81QwJU8stNByOkZQHtx20uJn0oCjAg95s7m4 t+Hl+gnjAlRD31RIyv7P5KoLWVVRxBsBK53W5PEwEoKJpHgFk7TIe5cJQe9Cg+xr8Q8igM T7WhOC4l21fPiKZ3lFGA4XeIMqSQA0H6dt9SIITxcqeG4evOE+HYe1A5gxIZW6XmiGK8UK iPzs7el9Vb74iOKOHYC3yfigLFpoczm+dHVAJOT1ea+8ilfsPtIkcvpx4S0cfQ== 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 4RqkZW0bBdz2h9; Tue, 19 Sep 2023 14:29:39 +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 38JETcE7092104; Tue, 19 Sep 2023 14:29:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38JETcHD092101; Tue, 19 Sep 2023 14:29:38 GMT (envelope-from git) Date: Tue, 19 Sep 2023 14:29:38 GMT Message-Id: <202309191429.38JETcHD092101@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: dda585f2c84b - releng/14.0 - cxgbe(4): Avoid hang on kldunload on netlink enabled kernels. 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: np X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: dda585f2c84be0f04239227249c85c54da58a485 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=dda585f2c84be0f04239227249c85c54da58a485 commit dda585f2c84be0f04239227249c85c54da58a485 Author: Navdeep Parhar AuthorDate: 2023-09-05 18:21:03 +0000 Commit: Navdeep Parhar CommitDate: 2023-09-19 14:28:12 +0000 cxgbe(4): Avoid hang on kldunload on netlink enabled kernels. netlink(4) calls back into the driver during detach and it attempts to start an internal synchronized op recursively, causing an interruptible hang. Fix it by failing the ioctl if the VI has been marked as DOOMED by cxgbe_detach. Here's the stack for the hang for reference. #6 begin_synchronized_op #7 cxgbe_media_status #8 ifmedia_ioctl #9 cxgbe_ioctl #10 if_ioctl #11 get_operstate_ether #12 get_operstate #13 dump_iface #14 rtnl_handle_ifevent #15 rtnl_handle_ifnet_event #16 rt_ifmsg #17 if_unroute #18 if_down #19 if_detach_internal #20 if_detach #21 ether_ifdetach #22 cxgbe_vi_detach #23 cxgbe_detach #24 DEVICE_DETACH Sponsored by: Chelsio Communications Approved by: re (kib) (cherry picked from commit 3814249f1e8dacfcd326dd7c416c528a1d88b6a1) (cherry picked from commit 3287f64a731406a305b76b86d0b1a7ed47786359) --- sys/dev/cxgbe/t4_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 759887a2a488..a32cd9a3f2df 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -3459,7 +3459,7 @@ cxgbe_media_status(if_t ifp, struct ifmediareq *ifmr) struct adapter *sc = pi->adapter; struct link_config *lc = &pi->link_cfg; - if (begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4med") != 0) + if (begin_synchronized_op(sc, vi , SLEEP_OK | INTR_OK, "t4med") != 0) return; PORT_LOCK(pi);