+ AUDIT_ARG(cmd, uap->req);
+ AUDIT_ARG(pid, uap->pid);
+ AUDIT_ARG(addr, uap->addr);
+ AUDIT_ARG(value, uap->data);
+
+ if (uap->req == PT_DENY_ATTACH) {
+ if (ISSET(p->p_flag, P_TRACED)) {
+ exit1(p, W_EXITCODE(ENOTSUP, 0), retval);
+ /* drop funnel before we return */
+ thread_funnel_set(kernel_flock, FALSE);
+ thread_exception_return();
+ /* NOTREACHED */
+ }
+ SET(p->p_flag, P_NOATTACH);
+
+ return(0);
+ }
+
+ if (uap->req == PT_FORCEQUOTA) {
+ if (is_suser()) {
+ SET(t->p_flag, P_FORCEQUOTA);
+ return (0);
+ } else
+ return (EPERM);
+ }