Changeset View
Changeset View
Standalone View
Standalone View
head/sys/opencrypto/crypto.c
Show First 20 Lines • Show All 891 Lines • ▼ Show 20 Lines | |||||
*/ | */ | ||||
static void | static void | ||||
crypto_deletesession(crypto_session_t cses) | crypto_deletesession(crypto_session_t cses) | ||||
{ | { | ||||
struct cryptocap *cap; | struct cryptocap *cap; | ||||
cap = cses->cap; | cap = cses->cap; | ||||
explicit_bzero(cses->softc, cap->cc_session_size); | zfree(cses->softc, M_CRYPTO_DATA); | ||||
free(cses->softc, M_CRYPTO_DATA); | |||||
uma_zfree(cryptoses_zone, cses); | uma_zfree(cryptoses_zone, cses); | ||||
CRYPTO_DRIVER_LOCK(); | CRYPTO_DRIVER_LOCK(); | ||||
cap->cc_sessions--; | cap->cc_sessions--; | ||||
if (cap->cc_sessions == 0 && cap->cc_flags & CRYPTOCAP_F_CLEANUP) | if (cap->cc_sessions == 0 && cap->cc_flags & CRYPTOCAP_F_CLEANUP) | ||||
wakeup(cap); | wakeup(cap); | ||||
CRYPTO_DRIVER_UNLOCK(); | CRYPTO_DRIVER_UNLOCK(); | ||||
cap_rele(cap); | cap_rele(cap); | ||||
▲ Show 20 Lines • Show All 1,407 Lines • Show Last 20 Lines |