Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jul 2025 22:03:51 GMT
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 42f1054ef12d - main - ast: do not dereference NULL td_proc in CTR statement
Message-ID:  <202507142203.56EM3p3H070744@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=42f1054ef12d10f3ba46770b985a320b0ceb9f2f

commit 42f1054ef12d10f3ba46770b985a320b0ceb9f2f
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-07-14 21:54:34 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-07-14 22:03:28 +0000

    ast: do not dereference NULL td_proc in CTR statement
    
    If ast is called to clean up thread, as in ast_kclear(), td_proc is
    NULL.  Guard against derefencing it in the trace.
    
    Reported by:    pho
    Sponsored by:   The FreeBSD Foundation
    MFC after:      3 days
---
 sys/kern/subr_trap.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c
index 18388ae5f232..bac7d0080c71 100644
--- a/sys/kern/subr_trap.c
+++ b/sys/kern/subr_trap.c
@@ -338,8 +338,9 @@ ast_handler(struct thread *td, struct trapframe *framep, bool dtor)
 		td->td_ast = 0;
 	}
 
-	CTR3(KTR_SYSC, "ast: thread %p (pid %d, %s)", td, td->td_proc->p_pid,
-            td->td_proc->p_comm);
+	CTR3(KTR_SYSC, "ast: thread %p (pid %d, %s)", td,
+	     td->td_proc == NULL ? -1 : td->td_proc->p_pid,
+	     td->td_proc == NULL ? "" : td->td_proc->p_comm);
 	KASSERT(framep == NULL || TRAPF_USERMODE(framep),
 	    ("ast in kernel mode"));
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202507142203.56EM3p3H070744>