Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_ktrace.c
Show First 20 Lines • Show All 1,170 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
struct ktr_io_params *old_kiop; | struct ktr_io_params *old_kiop; | ||||
PROC_LOCK_ASSERT(p, MA_OWNED); | PROC_LOCK_ASSERT(p, MA_OWNED); | ||||
if (!ktrcanset(td, p)) { | if (!ktrcanset(td, p)) { | ||||
PROC_UNLOCK(p); | PROC_UNLOCK(p); | ||||
return (0); | return (0); | ||||
} | } | ||||
if ((ops == KTROP_SET && p->p_state == PRS_NEW) || !p_cansee(td, p)) { | if ((ops == KTROP_SET && p->p_state == PRS_NEW) || | ||||
p_cansee(td, p) != 0) { | |||||
/* | /* | ||||
* Disallow setting trace points if the process is being born. | * Disallow setting trace points if the process is being born. | ||||
* This avoids races with trace point inheritance in | * This avoids races with trace point inheritance in | ||||
* ktrprocfork(). | * ktrprocfork(). | ||||
*/ | */ | ||||
PROC_UNLOCK(p); | PROC_UNLOCK(p); | ||||
return (0); | return (0); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 204 Lines • Show Last 20 Lines |