git: 4cf6925e9a18 - stable/14 - ktrace: do not enqueue request if the process' ktrioparams are freed

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Fri, 13 Feb 2026 18:19:55 UTC
The branch stable/14 has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=4cf6925e9a18cf0e21cf0d4e16b162cfd1f1a5e9

commit 4cf6925e9a18cf0e21cf0d4e16b162cfd1f1a5e9
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-01-20 15:01:08 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-02-13 18:19:36 +0000

    ktrace: do not enqueue request if the process' ktrioparams are freed
    
    (cherry picked from commit 6bb3f208617b58a54e2204eb31bae3f9a86117a7)
---
 sys/kern/kern_ktrace.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c
index 3d3cbbd29c6f..17abb737e065 100644
--- a/sys/kern/kern_ktrace.c
+++ b/sys/kern/kern_ktrace.c
@@ -371,11 +371,17 @@ ktr_getrequest(int type)
 static void
 ktr_enqueuerequest(struct thread *td, struct ktr_request *req)
 {
+	bool sched_ast;
 
 	mtx_lock(&ktrace_mtx);
-	STAILQ_INSERT_TAIL(&td->td_proc->p_ktr, req, ktr_list);
+	sched_ast = td->td_proc->p_ktrioparms != NULL;
+	if (sched_ast)
+		STAILQ_INSERT_TAIL(&td->td_proc->p_ktr, req, ktr_list);
+	else
+		ktr_freerequest_locked(req);
 	mtx_unlock(&ktrace_mtx);
-	ast_sched(td, TDA_KTRACE);
+	if (sched_ast)
+		ast_sched(td, TDA_KTRACE);
 }
 
 /*