diff options
author | kib <kib@FreeBSD.org> | 2015-01-18 15:13:11 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-01-18 15:13:11 +0000 |
commit | aa0ac99391af2cc2286fadd774dc5cf9f2edb7a6 (patch) | |
tree | 406845e7428cb2139db4e8afc4299216a84a92a7 /sys/compat | |
parent | 53832db395278d76a34a15ca534f509564a51dc5 (diff) | |
download | FreeBSD-src-aa0ac99391af2cc2286fadd774dc5cf9f2edb7a6.zip FreeBSD-src-aa0ac99391af2cc2286fadd774dc5cf9f2edb7a6.tar.gz |
Add procctl(2) PROC_TRACE_CTL command to enable or disable debugger
attachment to the process. Note that the command is not intended to
be a security measure, rather it is an obfuscation feature,
implemented for parity with other operating systems.
Discussed with: jilles, rwatson
Man page fixes by: rwatson
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Diffstat (limited to 'sys/compat')
-rw-r--r-- | sys/compat/freebsd32/freebsd32_misc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index ba8c2ff..ffea283 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -2969,6 +2969,7 @@ freebsd32_procctl(struct thread *td, struct freebsd32_procctl_args *uap) switch (uap->com) { case PROC_SPROTECT: + case PROC_TRACE_CTL: error = copyin(PTRIN(uap->data), &flags, sizeof(flags)); if (error != 0) return (error); @@ -2997,6 +2998,9 @@ freebsd32_procctl(struct thread *td, struct freebsd32_procctl_args *uap) return (error); data = &x.rk; break; + case PROC_TRACE_STATUS: + data = &flags; + break; default: return (EINVAL); } @@ -3012,6 +3016,10 @@ freebsd32_procctl(struct thread *td, struct freebsd32_procctl_args *uap) if (error == 0) error = error1; break; + case PROC_TRACE_STATUS: + if (error == 0) + error = copyout(&flags, uap->data, sizeof(flags)); + break; } return (error); } |