From nobody Mon Sep 18 19:11:30 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 4RqDtB30kvz4td3s; Mon, 18 Sep 2023 19:11:30 +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 4RqDtB2KYHz4GVL; Mon, 18 Sep 2023 19:11:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695064290; 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=1c+GUQnwEclBLr2KYpUtucK9a2kRhrIy02R0U9x+AbE=; b=etqe9jjc3dhBhYa9vQke2JYz4BYY2CVitStwFEn50aycTUZTZqrlABNYM8J8ov7Epm59V+ dunt0EMiOiq6HVHV3tDXyVyOwbO2TazY4S3nVFfw4b2+0nB3cZTXublZn29/lr15C0utrE kO+Aj3hBf6slefOqpsNl3RQ2v/kYTmxG9lqb7P/SC4X/GfbeL+UADwJf9Tz3DkNt0hfcB8 YWAXvtKUlBJzHFdJ1Aaotqfs0zONCPQp+4vu1KtjXZV8C+6CdvuXjZOOIf3IJPVA9zLjZD wI16YY0fpjRBFHAiSKbAFVyvp2P2EWC7tg9PHFdir82FGvHqfwc0YJdT+ydafw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695064290; a=rsa-sha256; cv=none; b=pKSlInuDssWZWiTMcW5VEmWy/OR47wp2rTbnpmfbomFrLzcT/Xmt6qXUNioIRmoQb3pTmG nNsKhvfShGkAiXh354S0o4bpjnGUZAIlew/V0bK3y7kkXfT5+Uac1OfTP0BO+zopYZkHUQ Zrb24sPEdzOy10h9ZeBUPhRgffD9cYbY90YCotYzIrh9X7J3sIJN2incAdXwKKR6+qAsGa 7nD7tgemRg3o4VSVKnfFeCumQIFwWTv+WDBbmI0iCi1VLmkB2pyxT4x4+TBy2/h9tMx8UM 9QG/746WVAFn6OMQSLtvoF4fmGwWWC/+aXnB6LPpppahOeyAmIHlhSN1DzjSVw== 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=1695064290; 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=1c+GUQnwEclBLr2KYpUtucK9a2kRhrIy02R0U9x+AbE=; b=B6bKeiARZ8F53jR78e2ToezNShE5eiCB/dO3NIlGZfUfWUiVNtkqm7O9HOsX25ss1DIQM1 C6TXgiVHN4koP9WRDwkK4vCUyPt+qYRhW5zQHnuWwQOEeGuIK248B/ui9FBwHFQ7kIJx+Y 3mQFsBCKzWhlJsoBxBRnCxssXxm2/e/uudF04/iskK0IXfPv5Aik5l12HymZ0oTybg3dOS mfAd1Ra7W5S/t8RPdWvZECLSZ8AaK3/DYu5JGPu+go2MHfs9NOnmTr6gcShIw93yNRRNPs 7bE8rJ8Bc1FfEult2C4dxqJT6PuDYaKE6DpNqBPrzr16f2uoa/REL1EK3GlAJQ== 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 4RqDtB1Mh4zjSn; Mon, 18 Sep 2023 19:11:30 +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 38IJBUir072871; Mon, 18 Sep 2023 19:11:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38IJBUF6072868; Mon, 18 Sep 2023 19:11:30 GMT (envelope-from git) Date: Mon, 18 Sep 2023 19:11:30 GMT Message-Id: <202309181911.38IJBUF6072868@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: 3287f64a7314 - stable/14 - 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 3287f64a731406a305b76b86d0b1a7ed47786359 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=3287f64a731406a305b76b86d0b1a7ed47786359 commit 3287f64a731406a305b76b86d0b1a7ed47786359 Author: Navdeep Parhar AuthorDate: 2023-09-05 18:21:03 +0000 Commit: Navdeep Parhar CommitDate: 2023-09-18 18:57:43 +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 MFC after: 3 days Sponsored by: Chelsio Communications (cherry picked from commit 3814249f1e8dacfcd326dd7c416c528a1d88b6a1) --- 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);