svn commit: r296480 - head/sys/cddl/dev/dtrace
Mark Johnston
markj at FreeBSD.org
Tue Mar 8 00:46:05 UTC 2016
Author: markj
Date: Tue Mar 8 00:46:03 2016
New Revision: 296480
URL: https://svnweb.freebsd.org/changeset/base/296480
Log:
Fix a couple of silly mistakes in r291962.
- Handle the case where no DOF helper is provided. This occurs with the
currently-unused DTRACEHIOC_ADD ioctl.
- Fix some checks that prevented the loading DOF in the (non-default)
lazyload mode.
Modified:
head/sys/cddl/dev/dtrace/dtrace_ioctl.c
Modified: head/sys/cddl/dev/dtrace/dtrace_ioctl.c
==============================================================================
--- head/sys/cddl/dev/dtrace/dtrace_ioctl.c Tue Mar 8 00:43:03 2016 (r296479)
+++ head/sys/cddl/dev/dtrace/dtrace_ioctl.c Tue Mar 8 00:46:03 2016 (r296480)
@@ -47,14 +47,14 @@ dtrace_ioctl_helper(struct cdev *dev, u_
/* FALLTHROUGH */
case DTRACEHIOC_ADD:
p = curproc;
- if (p->p_pid == dhp->dofhp_pid) {
+ if (dhp == NULL || p->p_pid == dhp->dofhp_pid) {
dof = dtrace_dof_copyin((uintptr_t)addr, &rval);
} else {
p = pfind(dhp->dofhp_pid);
if (p == NULL)
return (EINVAL);
if (!P_SHOULDSTOP(p) ||
- (p->p_flag & P_TRACED|P_WEXIT) == 0 ||
+ (p->p_flag & (P_TRACED | P_WEXIT)) != P_TRACED ||
p->p_pptr != curproc) {
PROC_UNLOCK(p);
return (EINVAL);
More information about the svn-src-all
mailing list