From nobody Fri Oct 30 13:47:45 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 4jGMqW48Vqz6wtfd for ; Fri, 30 Oct 2026 13:47:51 +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) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jGMqW0V9zz4gyd for ; Fri, 30 Oct 2026 13:47:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793368071; 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=n+ve8KJ661Z5LhKbMqJMyhg7ySllxOXhQVCoR+u1rSY=; b=QOW+Asaw3XQgkR/WUG+1BnxTuKc0AfNaHltTzW4VvCUujJZCXI7yd1sdz1lFtg0GH06EdF Z26uMkn8tvgxM4GGlldGZyN1PkzezTBzmCf+MrGOarRMjFz6ib6sdRRoO2cq1Bxse4N26M mcbw9b1VZyi4MWlxLs+SmrCKdAVVTWuXUL0CmhCHZVr5PzPnLZQscb91pqtEhwr4cM/ikO tqnXiqz97u6VyodlAYO/AUaPI7Tb8PXHWDmeqPVjRDABuG9a/sUnKacj5NZ/uj/ZaOggL+ Ndy8QCoOkTZ2oeah9e3uU5Nxak25kux8b24U9kzxbo/a/eL5818DHUxKhI1mPg== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793368071; b=FI0weY9M4X0LprpfYbpxnZYAfpRb6iGgJtUVzqs2Wvw+XCCHC+Coz8mtuOSoR3s9c05ztq 3+c0kVpyR4/zE5PeqcwYFPssHKa2J/Nx/L4IZYw+EW5z6ufCAKxPvauxly6MwR6dBFFOeB p6YQpkctnjyAm8vMUYKplWZU6nRHCv9nxtr5/RsqG8/C2uUxN7r3gun6bY78BZ7SoVgpaK ktUOlgwSxfoFTdqXBcd22WCa3/eXLopiIAFdb73feutk5YspX9vKQQRfEYeDbPq/WdeG4i n6XEUiSgAmkwsaz1uTLGvR5+S51dMcc0ILtNoJ10bPdYzSsYOFWThnNI3dvvEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793368071; 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=n+ve8KJ661Z5LhKbMqJMyhg7ySllxOXhQVCoR+u1rSY=; b=Y6Vx9n0Tlk8OfM+0PJk487yf+j6ITStqrskHEg8ykEpXuDmLHTV0U94UJ8fASGDdX70pAH gKiIieANoHkuy1857hD0kRwF2bzGOxtKv3+XI0/CElCmLcJCEMhjV8/L+zsvKgEuIB5Ca0 hJTSCrYPC716DSXmMxkZepwsxpT1C+JZM5Up8FVmQbsGuPg2/NeLYvl89+sQipj0vq2znv 8VmtRTTQtvkqUWChU4F+zBrGndnzosmYTYPISB0E+MU46GV8SnQtvISF83rJ/dvzh+LYJN cUFsIhV3PPUVpAPom/bsJEc4NgfKwhAoprBOhXQEkc2GVIzPb6hNZi7nDnBo3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4jGMqW07TyzTBJ for ; Fri, 30 Oct 2026 13:47:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f261 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 30 Oct 2026 13:47:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 880d2991661d - main - amd64 FRED: get out of NMI blocking mode unconditionally List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 880d2991661de74e1f800db867dc9d0eda7b1bc9 Auto-Submitted: auto-generated Date: Fri, 30 Oct 2026 13:47:45 +0000 Message-Id: <6ae4a001.1f261.3b0599ec@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=880d2991661de74e1f800db867dc9d0eda7b1bc9 commit 880d2991661de74e1f800db867dc9d0eda7b1bc9 Author: Konstantin Belousov AuthorDate: 2026-10-30 12:43:44 +0000 Commit: Konstantin Belousov CommitDate: 2026-10-30 13:47:12 +0000 amd64 FRED: get out of NMI blocking mode unconditionally When NMI interrupted userspace (ring 3), unconditionally unblock NMI, not only for the pmc backtrace sampling. Return to userspace needs to deliver ASTs and do userret(), which should not be done with NMIs blocking. Note that NMI from ring 3 is always delivered at stack level 0, i.e. the thread's kernel stack. Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/amd64/amd64/trap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 9187d881c703..534768abcd59 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -1643,11 +1643,11 @@ trap_fred_u(struct trapframe_fred *frame) case TF_FRED_EVINFO2_TYPE_NMI: frame->tf_idt.tf_trapno = T_NMI; nmi_handle_intr(&frame->tf_idt); + fred_out_of_nmi(); #ifdef HWPMC_HOOKS if ((td->td_pflags & TDP_CALLCHAIN) != 0) { int (*ph)(struct thread *, int, void *); - fred_out_of_nmi(); ph = atomic_load_ptr(&pmc_hook); if (ph != NULL) { enable_intr();