Lines Matching defs:ses

69     struct padlock_session *ses, int locked);
146 struct padlock_session *ses;
149 TAILQ_FOREACH(ses, &sc->sc_sessions, ses_next) {
150 if (ses->ses_used) {
157 while ((ses = TAILQ_FIRST(&sc->sc_sessions)) != NULL) {
158 TAILQ_REMOVE(&sc->sc_sessions, ses, ses_next);
159 fpu_kern_free_ctx(ses->ses_fpu_ctx);
160 free(ses, M_PADLOCK);
171 struct padlock_session *ses = NULL;
219 ses = TAILQ_FIRST(&sc->sc_sessions);
220 if (ses == NULL || ses->ses_used) {
221 ses = malloc(sizeof(*ses), M_PADLOCK, M_NOWAIT | M_ZERO);
222 if (ses == NULL) {
226 ses->ses_fpu_ctx = fpu_kern_alloc_ctx(FPU_KERN_NORMAL |
228 if (ses->ses_fpu_ctx == NULL) {
229 free(ses, M_PADLOCK);
233 ses->ses_id = sc->sc_sid++;
235 TAILQ_REMOVE(&sc->sc_sessions, ses, ses_next);
237 ses->ses_used = 1;
238 TAILQ_INSERT_TAIL(&sc->sc_sessions, ses, ses_next);
241 error = padlock_cipher_setup(ses, encini);
243 padlock_freesession_one(sc, ses, 0);
249 error = fpu_kern_enter(td, ses->ses_fpu_ctx, FPU_KERN_NORMAL |
252 error = padlock_hash_setup(ses, macini);
253 fpu_kern_leave(td, ses->ses_fpu_ctx);
256 padlock_freesession_one(sc, ses, 0);
261 *sidp = ses->ses_id;
266 padlock_freesession_one(struct padlock_softc *sc, struct padlock_session *ses,
270 uint32_t sid = ses->ses_id;
274 TAILQ_REMOVE(&sc->sc_sessions, ses, ses_next);
275 padlock_hash_free(ses);
276 ctx = ses->ses_fpu_ctx;
277 bzero(ses, sizeof(*ses));
278 ses->ses_used = 0;
279 ses->ses_id = sid;
280 ses->ses_fpu_ctx = ctx;
281 TAILQ_INSERT_HEAD(&sc->sc_sessions, ses, ses_next);
290 struct padlock_session *ses;
294 TAILQ_FOREACH_REVERSE(ses, &sc->sc_sessions, padlock_sessions_head,
296 if (ses->ses_id == sid)
299 if (ses == NULL) {
303 padlock_freesession_one(sc, ses, 1);
312 struct padlock_session *ses = NULL;
359 TAILQ_FOREACH_REVERSE(ses, &sc->sc_sessions, padlock_sessions_head,
361 if (ses->ses_id == (crp->crp_sid & 0xffffffff))
365 if (ses == NULL) {
372 error = padlock_hash_process(ses, maccrd, crp);
377 error = padlock_cipher_process(ses, enccrd, crp);
383 error = padlock_hash_process(ses, maccrd, crp);
394 if (ses != NULL && maccrd != NULL &&
396 padlock_free_ctx(ses->ses_axf, ses->ses_ictx);
397 padlock_free_ctx(ses->ses_axf, ses->ses_octx);