Lines Matching defs:workp

318  *	workp->kr_result:???			An error from the user space
342 struct kauth_resolver_work *workp, *killp;
368 MALLOC(workp, struct kauth_resolver_work *, sizeof(*workp), M_KAUTH, M_WAITOK);
369 if (workp == NULL)
372 workp->kr_work = *lkp;
373 workp->kr_extend = extend_data;
374 workp->kr_refs = 1;
375 workp->kr_flags = KAUTH_REQUEST_UNSUBMITTED;
376 workp->kr_result = 0;
383 workp->kr_seqno = workp->kr_work.el_seqno = kauth_resolver_sequence++;
384 workp->kr_work.el_result = KAUTH_EXTLOOKUP_INPROG;
392 TAILQ_INSERT_TAIL(&kauth_resolver_unsubmitted, workp, kr_link);
405 error = msleep(workp, kauth_resolver_mtx, PCATCH, "kr_submit", &ts);
407 if ((error == 0) && (workp->kr_flags & KAUTH_REQUEST_DONE))
421 *lkp = workp->kr_work;
429 if (workp->kr_flags & KAUTH_REQUEST_UNSUBMITTED) {
461 if (--workp->kr_refs <= 0) {
463 if (workp->kr_flags & KAUTH_REQUEST_DONE) {
464 TAILQ_REMOVE(&kauth_resolver_done, workp, kr_link);
465 } else if (workp->kr_flags & KAUTH_REQUEST_SUBMITTED) {
466 TAILQ_REMOVE(&kauth_resolver_submitted, workp, kr_link);
467 } else if (workp->kr_flags & KAUTH_REQUEST_UNSUBMITTED) {
468 TAILQ_REMOVE(&kauth_resolver_unsubmitted, workp, kr_link);
480 error = workp->kr_result;
488 FREE(workp, M_KAUTH);
524 struct kauth_resolver_work *workp;
544 while ((workp = TAILQ_LAST(&kauth_resolver_submitted, kauth_resolver_submitted_head)) != NULL) {
545 TAILQ_REMOVE(&kauth_resolver_submitted, workp, kr_link);
546 workp->kr_flags &= ~KAUTH_REQUEST_SUBMITTED;
547 workp->kr_flags |= KAUTH_REQUEST_UNSUBMITTED;
548 TAILQ_INSERT_HEAD(&kauth_resolver_unsubmitted, workp, kr_link);
739 struct kauth_resolver_work *workp;
747 workp = TAILQ_FIRST(&kauth_resolver_unsubmitted);
756 if ((error = copyout(&workp->kr_work, message, offsetof(struct kauth_identity_extlookup, el_extend))) != 0) {
761 if ((error = copyout(&workp->kr_work.el_info_reserved_1,
779 if (workp->kr_work.el_flags & (KAUTH_EXTLOOKUP_VALID_PWNAM | KAUTH_EXTLOOKUP_VALID_GRNAM)) {
790 error = copyoutstr(CAST_DOWN(void *,workp->kr_extend), uaddr, MAXPATHLEN, &actual);
797 TAILQ_REMOVE(&kauth_resolver_unsubmitted, workp, kr_link);
798 workp->kr_flags &= ~KAUTH_REQUEST_UNSUBMITTED;
799 workp->kr_flags |= KAUTH_REQUEST_SUBMITTED;
800 TAILQ_INSERT_TAIL(&kauth_resolver_submitted, workp, kr_link);
830 struct kauth_resolver_work *workp;
835 while ((workp = TAILQ_FIRST(&kauth_resolver_unsubmitted)) == NULL) {
869 struct kauth_resolver_work *workp;
949 TAILQ_FOREACH(workp, &kauth_resolver_submitted, kr_link) {
951 if (workp->kr_seqno == extl.el_seqno) {
958 TAILQ_REMOVE(&kauth_resolver_submitted, workp, kr_link);
959 workp->kr_flags &= ~KAUTH_REQUEST_SUBMITTED;
960 workp->kr_flags |= KAUTH_REQUEST_DONE;
961 workp->kr_result = result;
964 memcpy(&workp->kr_work, &extl, sizeof(struct kauth_identity_extlookup));
994 error = copyinstr(extl.el_extend, CAST_DOWN(void *, workp->kr_extend), MAXPATHLEN, &actual);
1002 TAILQ_INSERT_TAIL(&kauth_resolver_done, workp, kr_link);
1003 wakeup(workp);