From nobody Sun Apr 12 13:44:23 2026 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 4ftsGH3N1Lz6ZM3p for ; Sun, 12 Apr 2026 13:44:23 +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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ftsGH0cvfz3ktH for ; Sun, 12 Apr 2026 13:44:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776001463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BB02XzngzySR4OorxDDUUFfwJhRKqIA4R6L7goFgtHo=; b=KdWiHrqo7sfP7Qdk2HGFLeh3z/pOvpKuBp5yCyCjIM+42jsUQFF/qULfUzvxsVh1ZDwIq+ 27G2okx7FsQHU9ZFPGdpxcqJY9rWR8Qr0MCYw3zBFxL2NSQuWkV3xm/OHYSF0xmw3bN3UC 79nQXx+Mc5CjklC+QpnWDD4XOFdHvgE1/va+LTks34IrAqxe+i0hrpZ1yB0XMhqKRkZbX2 rniaZZ02ANDyxS6yEbqRAyFY/VrPt2tUh4M1qY8S7FhivH/AxOOsIaW9F1y+uyrcqnNFLQ tW/pKjlo7gPHwHmgIRjb3t5RumVzqJcG8fu+ciQKHrnuN4UA666yQtwfXoIpCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776001463; a=rsa-sha256; cv=none; b=t3WhQ/jtBlFvYaljIFwk9kZymAQPXu4+/TxGr7wxTLpfrWURbKFx27LgCIoUJ4608ikIkn ZPIN6JErdrtYk6FoAoa+e/KTWoD4d5RMupN9DzMhM3B/NW4BDlVhsJYlDCg3sqsefmBZA8 hMCzRnLyKdN6qE/ezu5ON4BDrZciGPqwkBX6yX5/uXEyn1rQeFTWNvtUZ3CJR6Wcl5PeeZ Sn0v0O2WMeL+9kBXOhkUXt6kDiMbnlgUY17Y3N/eYESNEdWmXw7vSG0x0nFFA2yAjXZufO MYdTeJshZbf3gF8BjF9nmWOUDobVL14H3pkTwmoyFlYo0mbFmuROZ1/vDSjVOg== 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=1776001463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BB02XzngzySR4OorxDDUUFfwJhRKqIA4R6L7goFgtHo=; b=ovLylOHJOIhPq79XsdXWC1MIVfOlyPcwCVe0WbgwQCO09B2p+Vtut7tx9kJUByV+zIrcgE Dztk8FD6KtH7XeJk6Z7wR2RboXhii1etzx1BgGG3mwm+kVSWx81vDSb+ILrQKx5ImI6hRL iEd0szLX3qeeSyeYpboYd3p1Z9+qrNV4ziHrJATsNOM0qvqXHoYVABtsvHTWH4gw9aDWTg 1Fm1zrtQh/s/o1C+qavCTITmMQuFdFbeB6UhxUIKHDqpAm0DfJUAgYPvGBF0Ja52NtQb1A ll8Qvf0ylGb5JqDByHik8o/8T7er4pqAHDvg/vKZHS33znVd/DNyWmwL8fkG/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4ftsGH0D2Fz4Nh for ; Sun, 12 Apr 2026 13:44:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43492 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Apr 2026 13:44:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Abdelkader Boudih From: Kyle Evans Subject: git: 05b84d640274 - stable/14 - uart: fix sleeping while holding mutex in uart_tty_detach() 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 05b84d64027451b298c56025eed11bf047be234d Auto-Submitted: auto-generated Date: Sun, 12 Apr 2026 13:44:23 +0000 Message-Id: <69dba1b7.43492.4e082988@gitrepo.freebsd.org> The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=05b84d64027451b298c56025eed11bf047be234d commit 05b84d64027451b298c56025eed11bf047be234d Author: Abdelkader Boudih AuthorDate: 2026-02-03 03:21:43 +0000 Commit: Kyle Evans CommitDate: 2026-04-12 13:43:43 +0000 uart: fix sleeping while holding mutex in uart_tty_detach() Move swi_remove() call before acquiring the tty lock. swi_remove() calls intr_event_remove_handler() which may sleep via msleep(), causing a lock order violation when called with the tty mutex held. The software interrupt handler removal operates on the interrupt event structure independently and does not require the tty lock. This matches the pattern used in other drivers such as tcp_hpts.c where swi_remove() is called without holding other locks. Reviewed by: imp, kevans (cherry picked from commit ed3a2469a71e0ef48cf8e636c35e64a011756da3) --- sys/dev/uart/uart_tty.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/uart/uart_tty.c b/sys/dev/uart/uart_tty.c index 736c756322a4..5a86c7325429 100644 --- a/sys/dev/uart/uart_tty.c +++ b/sys/dev/uart/uart_tty.c @@ -448,8 +448,9 @@ uart_tty_detach(struct uart_softc *sc) tp = sc->sc_u.u_tty.tp; - tty_lock(tp); swi_remove(sc->sc_softih); + + tty_lock(tp); tty_rel_gone(tp); return (0);