Page MenuHomeFreeBSD

D54804.1790071861.diff
No OneTemporary

Size
601 B
Referenced Files
None
Subscribers
None

D54804.1790071861.diff

diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c
--- a/sys/kern/kern_ktrace.c
+++ b/sys/kern/kern_ktrace.c
@@ -373,11 +373,17 @@
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);
}
/*

File Metadata

Mime Type
text/plain
Expires
Tue, Sep 22, 10:11 AM (4 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29833896
Default Alt Text
D54804.1790071861.diff (601 B)

Event Timeline