From nobody Tue Nov 03 09:02:23 2026 X-Original-To: dev-commits-src-branches@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 4jJjJH5Fcvz6yPqr for ; Tue, 03 Nov 2026 09:02: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) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jJjJH3rsgz4KQV for ; Tue, 03 Nov 2026 09:02:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793696543; 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=SVyFdUPddtWMSXkr6ApFgUJvBYo9w1RQMmivcZZ28R8=; b=t1VQpSI77fKJ5SzNFZ8tl2hFUjsl3uuXuhYsxkIGvsZ/Fht4hBB4Fn0zdTbPsTzqF/4pPF uIi69L/UXl6fyWoSttPFq0FmfzraH1JWddqmqFh7TI+m8h6JrEV4rJ67VsMxv3I7p+K1Yu 5uBL8JJJGcSObnLd3xLIlpjGZpNAHvMUFk7CbKOjpxCllsqd680ItiIqZX/a0N2BhIzuZL 1LopLbrV2DHie6CDubu7lcuUhTEfy69V+G8iq7+zzb4RM8lS8Fht7XrDBZxe3SmXdKDro7 BoXkbfW6P8mRJ7a8V2A2cSvMYo/RSgPZF5xHntT2harcWLyYoOSA9HPURndqMA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793696543; b=TcuerwuWYPlFTucHTq6RF3pMlHJUE/XOGA465j0EH5Sgr06DhZjSvreNa5f99JnS5PGE4a 6HMhjRkakm6Uoy0j2wG3KPP5Hst2VnKA4RCt+Z6gd7o1Lt9p813YNn/7NGAHpmE25erWuj Nkvu6wXRAWJc1y3x0wZj6qHkVNcifR6rONFf5UAkzJR40IaH7OBE4mnwKps7ZKAEthgFbj 8XoFYRzLIjGyx61IH9eEV3CsiW98+naJNa4oiBFckeHq/Ut+bT+AlQf2PpaG9PoxmkFFIh KQqrlctKhc90/i016IE5A7cWThDu+co5VAx+I4hDwCLNMAZuI8OcDkMhO8z7MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793696543; 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=SVyFdUPddtWMSXkr6ApFgUJvBYo9w1RQMmivcZZ28R8=; b=FRQfn1Y3AT0gTP2lRCd+CylsgyHxyeqIl5/eFDAJkV3irMiaO8MEfDkLx6wDLaceit39Zm SgXRnEIPZcQ2IAN8Uu3jzbx4/IfcwuK3Cbq9R06bwtssDskI3FTR6V+yF4glftGTuBcJiW D36Gtv4+dbH2yBQJHNLETOTgSlKwOo1XYzqE5FJavUzGnU/FF3D5VWZ/lGf7OdjHI+R/ZA kgcu1SOj2nEunODmEIEfXBlUxG7pqWoO9rGhdCJP+hGUvY+GFyZQfPQ5G551UHG2PcB/VT zlQFI7tgSQk4GUH62J1VU+MiJGWcQoWP1ZVkkuCvDiJZRMKwfn0W3iFMucSqqw== 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 4jJjJH181Fz1PWk for ; Tue, 03 Nov 2026 09:02:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 446a8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 03 Nov 2026 09:02:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 94816f650989 - stable/15 - amd64: add helpers to set up thread state on trap List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: Commits to the stable branches of the FreeBSD 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 94816f650989310f5d19dc562b73544e84520eaf Auto-Submitted: auto-generated Date: Tue, 03 Nov 2026 09:02:23 +0000 Message-Id: <6ae9a31f.446a8.4394c864@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=94816f650989310f5d19dc562b73544e84520eaf commit 94816f650989310f5d19dc562b73544e84520eaf Author: Konstantin Belousov AuthorDate: 2026-10-29 02:16:42 +0000 Commit: Konstantin Belousov CommitDate: 2026-11-03 09:01:18 +0000 amd64: add helpers to set up thread state on trap (cherry picked from commit 7f49a62e3c5ff15d87afcce9ab7fe787319a3f7f) --- sys/amd64/amd64/trap.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 94b8804268b3..6de47c23c79a 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -356,6 +356,15 @@ static const struct sfhandler sfhandlers[] = { }, }; +static void +trap_update_thread(struct thread *td, struct trapframe *frame) +{ + td->td_pticks = 0; + td->td_frame = frame; + if (td->td_cowgen != atomic_load_int(&td->td_proc->p_cowgen)) + thread_cow_update(td); +} + /* * Exception, fault, and trap interface to the FreeBSD kernel. * This common code is called from assembly language IDT gate entry @@ -404,11 +413,8 @@ trap(struct trapframe *frame) /* user trap */ trap_check_intr_user(td, frame); - td->td_pticks = 0; - td->td_frame = frame; + trap_update_thread(td, frame); addr = frame->tf_rip; - if (td->td_cowgen != atomic_load_int(&p->p_cowgen)) - thread_cow_update(td); switch (type) { case T_PRIVINFLT: /* privileged instruction fault */ @@ -1587,6 +1593,12 @@ trap_fred_u_noperm(struct trapframe_fred *frame, ksiginfo_t *ksi) ksi->ksi_addr = (void *)frame->tf_idt.tf_rip; } +static void +trap_fred_update_thread(struct thread *td, struct trapframe_fred *frame) +{ + trap_update_thread(td, &frame->tf_idt); +} + int fred_verbose_events; void trap_fred_u(struct trapframe_fred *frame); @@ -1650,10 +1662,7 @@ trap_fred_u(struct trapframe_fred *frame) &frame->tf_idt, frame->tf_idt.tf_trapno) != 0) return; #endif - td->td_pticks = 0; - td->td_frame = &frame->tf_idt; - if (td->td_cowgen != atomic_load_int(&td->td_proc->p_cowgen)) - thread_cow_update(td); + trap_fred_update_thread(td, frame); trap_fred_handle_u_exc(td, frame, vec, &ksi, &do_trapsig); break; case TF_FRED_EVINFO2_TYPE_INTn: