The branch main has been updated by kib:

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

commit 42f1054ef12d10f3ba46770b985a320b0ceb9f2f
Author:     Konstantin Belousov <k...@freebsd.org>
AuthorDate: 2025-07-14 21:54:34 +0000
Commit:     Konstantin Belousov <k...@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"));
 

Reply via email to