Lines Matching refs:kctx

45 	au_kcontext_t	*kctx = kmem_zalloc(sizeof (au_kcontext_t), KM_SLEEP);  in au_zone_init()  local
54 global_kctx = kctx; in au_zone_init()
55 global_zone->zone_audit_kctxt = kctx; in au_zone_init()
57 kctx->auk_policy = global_kctx->auk_policy; in au_zone_init()
58 curproc->p_zone->zone_audit_kctxt = kctx; in au_zone_init()
60 kctx->auk_valid = AUK_VALID; in au_zone_init()
61 kctx->auk_zid = zone; in au_zone_init()
63 kctx->auk_info.ai_termid.at_type = AU_IPv4; in au_zone_init()
64 kctx->auk_info.ai_auid = AU_NOAUDITID; in au_zone_init()
65 kctx->auk_auditstate = AUC_INIT_AUDIT; in au_zone_init()
68 kctx->auk_queue.hiwater = AQ_HIWATER; in au_zone_init()
69 kctx->auk_queue.lowater = AQ_LOWATER; in au_zone_init()
70 kctx->auk_queue.bufsz = AQ_BUFSZ; in au_zone_init()
71 kctx->auk_queue.buflen = AQ_BUFSZ; in au_zone_init()
72 kctx->auk_queue.delay = AQ_DELAY; in au_zone_init()
75 kctx->auk_statistics.as_version = TOKEN_VERSION; in au_zone_init()
76 kctx->auk_statistics.as_numevent = MAX_KEVENTS; in au_zone_init()
79 kctx->auk_dbuffer = in au_zone_init()
80 kmem_alloc(AU_DBUF_HEADER + kctx->auk_queue.bufsz, KM_SLEEP); in au_zone_init()
84 mutex_init(&(kctx->auk_eagain_mutex), NULL, MUTEX_DEFAULT, NULL); in au_zone_init()
85 cv_init(&(kctx->auk_eagain_cv), NULL, CV_DRIVER, NULL); in au_zone_init()
87 mutex_init(&(kctx->auk_svc_lock), NULL, MUTEX_DEFAULT, NULL); in au_zone_init()
89 mutex_init(&(kctx->auk_queue.lock), NULL, MUTEX_DEFAULT, NULL); in au_zone_init()
90 cv_init(&(kctx->auk_queue.write_cv), NULL, CV_DRIVER, NULL); in au_zone_init()
91 cv_init(&(kctx->auk_queue.read_cv), NULL, CV_DRIVER, NULL); in au_zone_init()
93 return (kctx); in au_zone_init()
100 au_kcontext_t *kctx = arg; in au_zone_shutdown() local
102 if (audit_active == C2AUDIT_LOADED && (kctx->auk_zid == GLOBAL_ZONEID || in au_zone_shutdown()
103 (audit_policy | AUDIT_PERZONE)) && (kctx->auk_current_vp != NULL)) in au_zone_shutdown()
104 (void) au_doormsg(kctx, AU_DBUF_SHUTDOWN, NULL); in au_zone_shutdown()
106 kctx->auk_valid = AUK_INVALID; in au_zone_shutdown()
109 kctx->auk_auditstate = AUC_NOAUDIT; in au_zone_shutdown()
111 if (kctx->auk_output_active) { in au_zone_shutdown()
112 mutex_enter(&(kctx->auk_queue.lock)); in au_zone_shutdown()
113 cv_broadcast(&(kctx->auk_queue.read_cv)); in au_zone_shutdown()
114 mutex_exit(&(kctx->auk_queue.lock)); in au_zone_shutdown()
116 taskq_destroy(kctx->auk_taskq); in au_zone_shutdown()
124 au_kcontext_t *kctx = arg; in au_zone_destroy() local
126 ASSERT(kctx->auk_auditstate == AUC_NOAUDIT); in au_zone_destroy()
128 mutex_destroy(&(kctx->auk_eagain_mutex)); in au_zone_destroy()
129 cv_destroy(&(kctx->auk_eagain_cv)); in au_zone_destroy()
131 mutex_destroy(&(kctx->auk_svc_lock)); in au_zone_destroy()
133 mutex_enter(&(kctx->auk_queue.lock)); in au_zone_destroy()
134 if (kctx->auk_queue.head != NULL) { in au_zone_destroy()
135 au_free_rec(kctx->auk_queue.head); in au_zone_destroy()
137 mutex_exit(&(kctx->auk_queue.lock)); in au_zone_destroy()
139 mutex_destroy(&(kctx->auk_queue.lock)); in au_zone_destroy()
141 cv_destroy(&(kctx->auk_queue.write_cv)); in au_zone_destroy()
142 cv_destroy(&(kctx->auk_queue.read_cv)); in au_zone_destroy()
144 kmem_free(kctx->auk_dbuffer, AU_DBUF_HEADER + kctx->auk_queue.buflen); in au_zone_destroy()
146 kmem_free(kctx, sizeof (au_kcontext_t)); in au_zone_destroy()