Lines Matching refs:fcr
109 crypto_create_session(struct fcrypt *fcr, struct session_op *sop) in crypto_create_session() argument
339 mutex_lock(&fcr->sem); in crypto_create_session()
341 list_for_each_entry(ses_ptr, &fcr->list, entry) { in crypto_create_session()
351 list_add(&ses_new->entry, &fcr->list); in crypto_create_session()
352 mutex_unlock(&fcr->sem); in crypto_create_session()
398 crypto_finish_session(struct fcrypt *fcr, uint32_t sid) in crypto_finish_session() argument
404 mutex_lock(&fcr->sem); in crypto_finish_session()
405 head = &fcr->list; in crypto_finish_session()
418 mutex_unlock(&fcr->sem); in crypto_finish_session()
425 crypto_finish_all_sessions(struct fcrypt *fcr) in crypto_finish_all_sessions() argument
430 mutex_lock(&fcr->sem); in crypto_finish_all_sessions()
432 head = &fcr->list; in crypto_finish_all_sessions()
437 mutex_unlock(&fcr->sem); in crypto_finish_all_sessions()
444 crypto_get_session_by_sid(struct fcrypt *fcr, uint32_t sid) in crypto_get_session_by_sid() argument
448 if (unlikely(fcr == NULL)) in crypto_get_session_by_sid()
451 mutex_lock(&fcr->sem); in crypto_get_session_by_sid()
452 list_for_each_entry(ses_ptr, &fcr->list, entry) { in crypto_get_session_by_sid()
459 mutex_unlock(&fcr->sem); in crypto_get_session_by_sid()
474 crypto_get_sessions_by_sid(struct fcrypt *fcr, in crypto_get_sessions_by_sid() argument
481 if (unlikely(fcr == NULL)) { in crypto_get_sessions_by_sid()
491 mutex_lock(&fcr->sem); in crypto_get_sessions_by_sid()
493 list_for_each_entry(ses_ptr, &fcr->list, entry) { in crypto_get_sessions_by_sid()
507 mutex_unlock(&fcr->sem); in crypto_get_sessions_by_sid()
520 crypto_copy_hash_state(struct fcrypt *fcr, uint32_t dst_sid, uint32_t src_sid) in crypto_copy_hash_state() argument
525 ret = crypto_get_sessions_by_sid(fcr, src_sid, &src_ses, in crypto_copy_hash_state()
765 static int fill_kcop_from_cop(struct kernel_crypt_op *kcop, struct fcrypt *fcr) in fill_kcop_from_cop() argument
772 ses_ptr = crypto_get_session_by_sid(fcr, cop->ses); in fill_kcop_from_cop()
798 static int fill_cop_from_kcop(struct kernel_crypt_op *kcop, struct fcrypt *fcr) in fill_cop_from_kcop() argument
818 struct fcrypt *fcr, void __user *arg) in kcop_from_user() argument
823 return fill_kcop_from_cop(kcop, fcr); in kcop_from_user()
827 struct fcrypt *fcr, void __user *arg) in kcop_to_user() argument
831 ret = fill_cop_from_kcop(kcop, fcr); in kcop_to_user()
879 static int get_session_info(struct fcrypt *fcr, struct session_info_op *siop) in get_session_info() argument
885 ses_ptr = crypto_get_session_by_sid(fcr, siop->ses); in get_session_info()
934 struct fcrypt *fcr; in cryptodev_ioctl() local
945 fcr = &pcr->fcrypt; in cryptodev_ioctl()
969 ret = crypto_create_session(fcr, &sop); in cryptodev_ioctl()
974 crypto_finish_session(fcr, sop.ses); in cryptodev_ioctl()
982 ret = crypto_finish_session(fcr, ses); in cryptodev_ioctl()
988 ret = get_session_info(fcr, &siop); in cryptodev_ioctl()
996 return crypto_copy_hash_state(fcr, cphop.dst_ses, cphop.src_ses); in cryptodev_ioctl()
999 if (unlikely(ret = kcop_from_user(&kcop, fcr, arg))) { in cryptodev_ioctl()
1004 ret = crypto_run(fcr, &kcop); in cryptodev_ioctl()
1010 return kcop_to_user(&kcop, fcr, arg); in cryptodev_ioctl()
1012 if (unlikely(ret = cryptodev_kcaop_from_user(&kcaop, fcr, arg))) { in cryptodev_ioctl()
1017 ret = crypto_auth_run(fcr, &kcaop); in cryptodev_ioctl()
1022 return cryptodev_kcaop_to_user(&kcaop, fcr, arg); in cryptodev_ioctl()
1025 if (unlikely(ret = kcop_from_user(&kcop, fcr, arg))) in cryptodev_ioctl()
1034 return kcop_to_user(&kcop, fcr, arg); in cryptodev_ioctl()
1037 return rk_cryptodev_ioctl(fcr, cmd, arg_); in cryptodev_ioctl()
1099 struct fcrypt *fcr, void __user *arg) in compat_kcop_from_user() argument
1107 return fill_kcop_from_cop(kcop, fcr); in compat_kcop_from_user()
1111 struct fcrypt *fcr, void __user *arg) in compat_kcop_to_user() argument
1116 ret = fill_cop_from_kcop(kcop, fcr); in compat_kcop_to_user()
1135 struct fcrypt *fcr; in cryptodev_compat_ioctl() local
1145 fcr = &pcr->fcrypt; in cryptodev_compat_ioctl()
1160 ret = crypto_create_session(fcr, &sop); in cryptodev_compat_ioctl()
1167 crypto_finish_session(fcr, sop.ses); in cryptodev_compat_ioctl()
1173 ret = compat_kcop_from_user(&kcop, fcr, arg); in cryptodev_compat_ioctl()
1177 ret = crypto_run(fcr, &kcop); in cryptodev_compat_ioctl()
1181 return compat_kcop_to_user(&kcop, fcr, arg); in cryptodev_compat_ioctl()
1184 ret = compat_kcaop_from_user(&kcaop, fcr, arg); in cryptodev_compat_ioctl()
1190 ret = crypto_auth_run(fcr, &kcaop); in cryptodev_compat_ioctl()
1195 return compat_kcaop_to_user(&kcaop, fcr, arg); in cryptodev_compat_ioctl()
1198 if (unlikely(ret = compat_kcop_from_user(&kcop, fcr, arg))) in cryptodev_compat_ioctl()
1207 return compat_kcop_to_user(&kcop, fcr, arg); in cryptodev_compat_ioctl()
1210 return rk_compat_cryptodev_ioctl(fcr, cmd, arg_); in cryptodev_compat_ioctl()