Lines Matching +full:de +full:- +full:serialized
1 // SPDX-License-Identifier: GPL-2.0+
6 * Cornelia Huck <cornelia.huck@de.ibm.com>
8 * Hotplug & misc device support: Jochen Roehrig (roehrig@de.ibm.com)
9 * Major cleanup & driver split: Martin Schwidefsky <schwidefsky@de.ibm.com>
10 * Ralph Wuerthner <rwuerthn@de.ibm.com>
84 list_add_tail(&zops->list, &zcrypt_ops_list); in zcrypt_msgtype_register()
89 list_del_init(&zops->list); in zcrypt_msgtype_unregister()
97 if (zops->variant == variant && in zcrypt_msgtype()
98 (!strncmp(zops->name, name, sizeof(zops->name)))) in zcrypt_msgtype()
162 return -ERESTARTSYS; in ioctlmask_show()
165 for (i = 0; i < sizeof(zcdndev->perms.ioctlm) / sizeof(long); i++) in ioctlmask_show()
166 n += sysfs_emit_at(buf, n, "%016lx", zcdndev->perms.ioctlm[i]); in ioctlmask_show()
181 rc = ap_parse_mask_str(buf, zcdndev->perms.ioctlm, in ioctlmask_store()
199 return -ERESTARTSYS; in apmask_show()
202 for (i = 0; i < sizeof(zcdndev->perms.apm) / sizeof(long); i++) in apmask_show()
203 n += sysfs_emit_at(buf, n, "%016lx", zcdndev->perms.apm[i]); in apmask_show()
218 rc = ap_parse_mask_str(buf, zcdndev->perms.apm, in apmask_store()
236 return -ERESTARTSYS; in aqmask_show()
239 for (i = 0; i < sizeof(zcdndev->perms.aqm) / sizeof(long); i++) in aqmask_show()
240 n += sysfs_emit_at(buf, n, "%016lx", zcdndev->perms.aqm[i]); in aqmask_show()
255 rc = ap_parse_mask_str(buf, zcdndev->perms.aqm, in aqmask_store()
273 return -ERESTARTSYS; in admask_show()
276 for (i = 0; i < sizeof(zcdndev->perms.adm) / sizeof(long); i++) in admask_show()
277 n += sysfs_emit_at(buf, n, "%016lx", zcdndev->perms.adm[i]); in admask_show()
292 rc = ap_parse_mask_str(buf, zcdndev->perms.adm, in admask_store()
358 __func__, MAJOR(dev->devt), MINOR(dev->devt)); in zcdn_device_release()
370 return -ERESTARTSYS; in zcdn_create()
376 put_device(&zcdndev->device); in zcdn_create()
377 rc = -EEXIST; in zcdn_create()
387 put_device(&zcdndev->device); in zcdn_create()
392 rc = -ENOSPC; in zcdn_create()
399 rc = -ENOMEM; in zcdn_create()
402 zcdndev->device.release = zcdn_device_release; in zcdn_create()
403 zcdndev->device.class = &zcrypt_class; in zcdn_create()
404 zcdndev->device.devt = devt; in zcdn_create()
405 zcdndev->device.groups = zcdn_dev_attr_groups; in zcdn_create()
407 rc = dev_set_name(&zcdndev->device, "%s", name); in zcdn_create()
409 rc = dev_set_name(&zcdndev->device, ZCRYPT_NAME "_%d", (int)MINOR(devt)); in zcdn_create()
414 rc = device_register(&zcdndev->device); in zcdn_create()
416 put_device(&zcdndev->device); in zcdn_create()
434 return -ERESTARTSYS; in zcdn_destroy()
439 rc = -ENOENT; in zcdn_destroy()
447 put_device(&zcdndev->device); in zcdn_destroy()
448 device_unregister(&zcdndev->device); in zcdn_destroy()
466 put_device(&zcdndev->device); in zcdn_destroy_all()
467 device_unregister(&zcdndev->device); in zcdn_destroy_all()
481 return -EPERM; in zcrypt_read()
492 return -EPERM; in zcrypt_write()
504 if (filp->f_inode->i_cdev == &zcrypt_cdev) { in zcrypt_open()
508 return -ERESTARTSYS; in zcrypt_open()
509 zcdndev = find_zcdndev_by_devt(filp->f_inode->i_rdev); in zcrypt_open()
513 perms = &zcdndev->perms; in zcrypt_open()
515 filp->private_data = (void *)perms; in zcrypt_open()
528 if (filp->f_inode->i_cdev == &zcrypt_cdev) { in zcrypt_release()
532 zcdndev = find_zcdndev_by_devt(filp->f_inode->i_rdev); in zcrypt_release()
536 put_device(&zcdndev->device); in zcrypt_release()
537 put_device(&zcdndev->device); in zcrypt_release()
548 int rc = -EPERM; in zcrypt_check_ioctl()
552 if (test_bit_inv(ioctlnr, perms->ioctlm)) in zcrypt_check_ioctl()
565 return test_bit_inv(card, perms->apm) ? true : false; in zcrypt_check_card()
570 return test_bit_inv(queue, perms->aqm) ? true : false; in zcrypt_check_queue()
578 if (!zq || !try_module_get(zq->queue->ap_dev.device.driver->owner)) in zcrypt_pick_queue()
582 get_device(&zq->queue->ap_dev.device); in zcrypt_pick_queue()
583 atomic_add(weight, &zc->load); in zcrypt_pick_queue()
584 atomic_add(weight, &zq->load); in zcrypt_pick_queue()
585 zq->request_count++; in zcrypt_pick_queue()
586 *pmod = zq->queue->ap_dev.device.driver->owner; in zcrypt_pick_queue()
595 zq->request_count--; in zcrypt_drop_queue()
596 atomic_sub(weight, &zc->load); in zcrypt_drop_queue()
597 atomic_sub(weight, &zq->load); in zcrypt_drop_queue()
598 put_device(&zq->queue->ap_dev.device); in zcrypt_drop_queue()
611 weight += atomic_read(&zc->load); in zcrypt_card_compare()
612 pref_weight += atomic_read(&pref_zc->load); in zcrypt_card_compare()
614 return atomic64_read(&zc->card->total_request_count) < in zcrypt_card_compare()
615 atomic64_read(&pref_zc->card->total_request_count); in zcrypt_card_compare()
626 weight += atomic_read(&zq->load); in zcrypt_queue_compare()
627 pref_weight += atomic_read(&pref_zq->load); in zcrypt_queue_compare()
629 return zq->queue->total_request_count < in zcrypt_queue_compare()
630 pref_zq->queue->total_request_count; in zcrypt_queue_compare()
646 int cpen, qpen, qid = 0, rc = -ENODEV; in zcrypt_rsa_modexpo()
653 if (mex->outputdatalength < mex->inputdatalength) { in zcrypt_rsa_modexpo()
655 rc = -EINVAL; in zcrypt_rsa_modexpo()
664 mex->outputdatalength = mex->inputdatalength; in zcrypt_rsa_modexpo()
675 if (!zc->online || !zc->card->config || zc->card->chkstop || in zcrypt_rsa_modexpo()
676 !(zc->card->hwinfo.accel || zc->card->hwinfo.cca)) in zcrypt_rsa_modexpo()
679 if (zc->min_mod_size > mex->inputdatalength || in zcrypt_rsa_modexpo()
680 zc->max_mod_size < mex->inputdatalength) in zcrypt_rsa_modexpo()
683 if (!zcrypt_check_card(perms, zc->card->id)) in zcrypt_rsa_modexpo()
686 wgt = zc->speed_rating[func_code]; in zcrypt_rsa_modexpo()
688 cpen = (tr && tr->again_counter && tr->last_qid && in zcrypt_rsa_modexpo()
689 AP_QID_CARD(tr->last_qid) == zc->card->id) ? in zcrypt_rsa_modexpo()
695 if (!zq->online || !zq->ops->rsa_modexpo || in zcrypt_rsa_modexpo()
696 !ap_queue_usable(zq->queue)) in zcrypt_rsa_modexpo()
700 AP_QID_QUEUE(zq->queue->qid))) in zcrypt_rsa_modexpo()
703 qpen = (tr && tr->again_counter && tr->last_qid && in zcrypt_rsa_modexpo()
704 tr->last_qid == zq->queue->qid) ? in zcrypt_rsa_modexpo()
719 rc = -ENODEV; in zcrypt_rsa_modexpo()
723 qid = pref_zq->queue->qid; in zcrypt_rsa_modexpo()
724 rc = pref_zq->ops->rsa_modexpo(pref_zq, mex, &ap_msg); in zcrypt_rsa_modexpo()
733 tr->last_rc = rc; in zcrypt_rsa_modexpo()
734 tr->last_qid = qid; in zcrypt_rsa_modexpo()
750 int cpen, qpen, qid = 0, rc = -ENODEV; in zcrypt_rsa_crt()
757 if (crt->outputdatalength < crt->inputdatalength) { in zcrypt_rsa_crt()
759 rc = -EINVAL; in zcrypt_rsa_crt()
768 crt->outputdatalength = crt->inputdatalength; in zcrypt_rsa_crt()
779 if (!zc->online || !zc->card->config || zc->card->chkstop || in zcrypt_rsa_crt()
780 !(zc->card->hwinfo.accel || zc->card->hwinfo.cca)) in zcrypt_rsa_crt()
783 if (zc->min_mod_size > crt->inputdatalength || in zcrypt_rsa_crt()
784 zc->max_mod_size < crt->inputdatalength) in zcrypt_rsa_crt()
787 if (!zcrypt_check_card(perms, zc->card->id)) in zcrypt_rsa_crt()
790 wgt = zc->speed_rating[func_code]; in zcrypt_rsa_crt()
792 cpen = (tr && tr->again_counter && tr->last_qid && in zcrypt_rsa_crt()
793 AP_QID_CARD(tr->last_qid) == zc->card->id) ? in zcrypt_rsa_crt()
799 if (!zq->online || !zq->ops->rsa_modexpo_crt || in zcrypt_rsa_crt()
800 !ap_queue_usable(zq->queue)) in zcrypt_rsa_crt()
804 AP_QID_QUEUE(zq->queue->qid))) in zcrypt_rsa_crt()
807 qpen = (tr && tr->again_counter && tr->last_qid && in zcrypt_rsa_crt()
808 tr->last_qid == zq->queue->qid) ? in zcrypt_rsa_crt()
823 rc = -ENODEV; in zcrypt_rsa_crt()
827 qid = pref_zq->queue->qid; in zcrypt_rsa_crt()
828 rc = pref_zq->ops->rsa_modexpo_crt(pref_zq, crt, &ap_msg); in zcrypt_rsa_crt()
837 tr->last_rc = rc; in zcrypt_rsa_crt()
838 tr->last_qid = qid; in zcrypt_rsa_crt()
855 int cpen, qpen, qid = 0, rc = -ENODEV; in _zcrypt_send_cprb()
860 xcrb->status = 0; in _zcrypt_send_cprb()
872 if (!test_bit_inv(tdom, perms->adm)) { in _zcrypt_send_cprb()
873 rc = -ENODEV; in _zcrypt_send_cprb()
877 rc = -EOPNOTSUPP; in _zcrypt_send_cprb()
895 if (!zc->online || !zc->card->config || zc->card->chkstop || in _zcrypt_send_cprb()
896 !zc->card->hwinfo.cca) in _zcrypt_send_cprb()
899 if (xcrb->user_defined != AUTOSELECT && in _zcrypt_send_cprb()
900 xcrb->user_defined != zc->card->id) in _zcrypt_send_cprb()
903 if (ap_msg.len > zc->card->maxmsgsize) in _zcrypt_send_cprb()
906 if (!zcrypt_check_card(perms, zc->card->id)) in _zcrypt_send_cprb()
909 wgt = speed_idx_cca(func_code) * zc->speed_rating[SECKEY]; in _zcrypt_send_cprb()
911 cpen = (tr && tr->again_counter && tr->last_qid && in _zcrypt_send_cprb()
912 AP_QID_CARD(tr->last_qid) == zc->card->id) ? in _zcrypt_send_cprb()
918 if (!zq->online || !zq->ops->send_cprb || in _zcrypt_send_cprb()
919 !ap_queue_usable(zq->queue) || in _zcrypt_send_cprb()
921 tdom != AP_QID_QUEUE(zq->queue->qid))) in _zcrypt_send_cprb()
925 AP_QID_QUEUE(zq->queue->qid))) in _zcrypt_send_cprb()
928 qpen = (tr && tr->again_counter && tr->last_qid && in _zcrypt_send_cprb()
929 tr->last_qid == zq->queue->qid) ? in _zcrypt_send_cprb()
944 xcrb->user_defined, *domain); in _zcrypt_send_cprb()
945 rc = -ENODEV; in _zcrypt_send_cprb()
950 qid = pref_zq->queue->qid; in _zcrypt_send_cprb()
954 rc = pref_zq->ops->send_cprb(userspace, pref_zq, xcrb, &ap_msg); in _zcrypt_send_cprb()
967 tr->last_rc = rc; in _zcrypt_send_cprb()
968 tr->last_qid = qid; in _zcrypt_send_cprb()
984 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in zcrypt_send_cprb()
987 if (rc == -ENODEV && zcrypt_process_rescan()) in zcrypt_send_cprb()
990 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in zcrypt_send_cprb()
991 if (rc == -EAGAIN && tr.again_counter >= TRACK_AGAIN_MAX) in zcrypt_send_cprb()
992 rc = -EIO; in zcrypt_send_cprb()
1004 while (target_num-- > 0) { in is_desired_ep11_card()
1005 if (targets->ap_id == dev_id || targets->ap_id == AUTOSEL_AP) in is_desired_ep11_card()
1018 while (target_num-- > 0) { in is_desired_ep11_queue()
1019 if ((targets->ap_id == card || targets->ap_id == AUTOSEL_AP) && in is_desired_ep11_queue()
1020 (targets->dom_id == dom || targets->dom_id == AUTOSEL_DOM)) in is_desired_ep11_queue()
1038 int cpen, qpen, qid = 0, rc = -ENODEV; in _zcrypt_send_ep11_cprb()
1045 target_num = (unsigned short)xcrb->targets_num; in _zcrypt_send_ep11_cprb()
1055 rc = -ENOMEM; in _zcrypt_send_ep11_cprb()
1059 uptr = (struct ep11_target_dev __force __user *)xcrb->targets; in _zcrypt_send_ep11_cprb()
1063 rc = -EFAULT; in _zcrypt_send_ep11_cprb()
1076 if (!test_bit_inv(domain, perms->adm)) { in _zcrypt_send_ep11_cprb()
1077 rc = -ENODEV; in _zcrypt_send_ep11_cprb()
1081 rc = -EOPNOTSUPP; in _zcrypt_send_ep11_cprb()
1091 if (!zc->online || !zc->card->config || zc->card->chkstop || in _zcrypt_send_ep11_cprb()
1092 !zc->card->hwinfo.ep11) in _zcrypt_send_ep11_cprb()
1096 !is_desired_ep11_card(zc->card->id, target_num, targets)) in _zcrypt_send_ep11_cprb()
1099 if (ap_msg.len > zc->card->maxmsgsize) in _zcrypt_send_ep11_cprb()
1102 if (!zcrypt_check_card(perms, zc->card->id)) in _zcrypt_send_ep11_cprb()
1105 wgt = speed_idx_ep11(func_code) * zc->speed_rating[SECKEY]; in _zcrypt_send_ep11_cprb()
1107 cpen = (tr && tr->again_counter && tr->last_qid && in _zcrypt_send_ep11_cprb()
1108 AP_QID_CARD(tr->last_qid) == zc->card->id) ? in _zcrypt_send_ep11_cprb()
1114 if (!zq->online || !zq->ops->send_ep11_cprb || in _zcrypt_send_ep11_cprb()
1115 !ap_queue_usable(zq->queue) || in _zcrypt_send_ep11_cprb()
1117 !is_desired_ep11_queue(zq->queue->qid, in _zcrypt_send_ep11_cprb()
1122 AP_QID_QUEUE(zq->queue->qid))) in _zcrypt_send_ep11_cprb()
1125 qpen = (tr && tr->again_counter && tr->last_qid && in _zcrypt_send_ep11_cprb()
1126 tr->last_qid == zq->queue->qid) ? in _zcrypt_send_ep11_cprb()
1142 (int)targets->ap_id, (int)targets->dom_id); in _zcrypt_send_ep11_cprb()
1149 rc = -ENODEV; in _zcrypt_send_ep11_cprb()
1153 qid = pref_zq->queue->qid; in _zcrypt_send_ep11_cprb()
1154 rc = pref_zq->ops->send_ep11_cprb(userspace, pref_zq, xcrb, &ap_msg); in _zcrypt_send_ep11_cprb()
1169 tr->last_rc = rc; in _zcrypt_send_ep11_cprb()
1170 tr->last_qid = qid; in _zcrypt_send_ep11_cprb()
1186 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in zcrypt_send_ep11_cprb()
1189 if (rc == -ENODEV && zcrypt_process_rescan()) in zcrypt_send_ep11_cprb()
1192 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in zcrypt_send_ep11_cprb()
1193 if (rc == -EAGAIN && tr.again_counter >= TRACK_AGAIN_MAX) in zcrypt_send_ep11_cprb()
1194 rc = -EIO; in zcrypt_send_ep11_cprb()
1210 int qid = 0, rc = -ENODEV; in zcrypt_rng()
1225 if (!zc->online || !zc->card->config || zc->card->chkstop || in zcrypt_rng()
1226 !zc->card->hwinfo.cca) in zcrypt_rng()
1229 wgt = zc->speed_rating[func_code]; in zcrypt_rng()
1234 if (!zq->online || !zq->ops->rng || in zcrypt_rng()
1235 !ap_queue_usable(zq->queue)) in zcrypt_rng()
1249 rc = -ENODEV; in zcrypt_rng()
1253 qid = pref_zq->queue->qid; in zcrypt_rng()
1254 rc = pref_zq->ops->rng(pref_zq, buffer, &ap_msg); in zcrypt_rng()
1280 card = AP_QID_CARD(zq->queue->qid); in zcrypt_device_status_mask()
1283 queue = AP_QID_QUEUE(zq->queue->qid); in zcrypt_device_status_mask()
1285 stat->hwtype = zc->card->ap_dev.device_type; in zcrypt_device_status_mask()
1286 stat->functions = zc->card->hwinfo.fac >> 26; in zcrypt_device_status_mask()
1287 stat->qid = zq->queue->qid; in zcrypt_device_status_mask()
1288 stat->online = zq->online ? 0x01 : 0x00; in zcrypt_device_status_mask()
1304 card = AP_QID_CARD(zq->queue->qid); in zcrypt_device_status_mask_ext()
1305 queue = AP_QID_QUEUE(zq->queue->qid); in zcrypt_device_status_mask_ext()
1307 stat->hwtype = zc->card->ap_dev.device_type; in zcrypt_device_status_mask_ext()
1308 stat->functions = zc->card->hwinfo.fac >> 26; in zcrypt_device_status_mask_ext()
1309 stat->qid = zq->queue->qid; in zcrypt_device_status_mask_ext()
1310 stat->online = zq->online ? 0x01 : 0x00; in zcrypt_device_status_mask_ext()
1328 if (card == AP_QID_CARD(zq->queue->qid) && in zcrypt_device_status_ext()
1329 queue == AP_QID_QUEUE(zq->queue->qid)) { in zcrypt_device_status_ext()
1330 devstat->hwtype = zc->card->ap_dev.device_type; in zcrypt_device_status_ext()
1331 devstat->functions = zc->card->hwinfo.fac >> 26; in zcrypt_device_status_ext()
1332 devstat->qid = zq->queue->qid; in zcrypt_device_status_ext()
1333 devstat->online = zq->online ? 0x01 : 0x00; in zcrypt_device_status_ext()
1341 return -ENODEV; in zcrypt_device_status_ext()
1355 card = AP_QID_CARD(zq->queue->qid); in zcrypt_status_mask()
1356 if (AP_QID_QUEUE(zq->queue->qid) != ap_domain_index || in zcrypt_status_mask()
1359 status[card] = zc->online ? zc->user_space_type : 0x0d; in zcrypt_status_mask()
1376 card = AP_QID_CARD(zq->queue->qid); in zcrypt_qdepth_mask()
1377 if (AP_QID_QUEUE(zq->queue->qid) != ap_domain_index || in zcrypt_qdepth_mask()
1380 spin_lock(&zq->queue->lock); in zcrypt_qdepth_mask()
1382 zq->queue->pendingq_count + in zcrypt_qdepth_mask()
1383 zq->queue->requestq_count; in zcrypt_qdepth_mask()
1384 spin_unlock(&zq->queue->lock); in zcrypt_qdepth_mask()
1403 card = AP_QID_CARD(zq->queue->qid); in zcrypt_perdev_reqcnt()
1404 if (AP_QID_QUEUE(zq->queue->qid) != ap_domain_index || in zcrypt_perdev_reqcnt()
1407 spin_lock(&zq->queue->lock); in zcrypt_perdev_reqcnt()
1408 cnt = zq->queue->total_request_count; in zcrypt_perdev_reqcnt()
1409 spin_unlock(&zq->queue->lock); in zcrypt_perdev_reqcnt()
1428 if (AP_QID_QUEUE(zq->queue->qid) != ap_domain_index) in zcrypt_pendingq_count()
1430 spin_lock(&zq->queue->lock); in zcrypt_pendingq_count()
1431 pendingq_count += zq->queue->pendingq_count; in zcrypt_pendingq_count()
1432 spin_unlock(&zq->queue->lock); in zcrypt_pendingq_count()
1451 if (AP_QID_QUEUE(zq->queue->qid) != ap_domain_index) in zcrypt_requestq_count()
1453 spin_lock(&zq->queue->lock); in zcrypt_requestq_count()
1454 requestq_count += zq->queue->requestq_count; in zcrypt_requestq_count()
1455 spin_unlock(&zq->queue->lock); in zcrypt_requestq_count()
1472 return -EFAULT; in icarsamodexpo_ioctl()
1476 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in icarsamodexpo_ioctl()
1479 if (rc == -ENODEV && zcrypt_process_rescan()) in icarsamodexpo_ioctl()
1482 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in icarsamodexpo_ioctl()
1483 if (rc == -EAGAIN && tr.again_counter >= TRACK_AGAIN_MAX) in icarsamodexpo_ioctl()
1484 rc = -EIO; in icarsamodexpo_ioctl()
1489 return put_user(mex.outputdatalength, &umex->outputdatalength); in icarsamodexpo_ioctl()
1501 return -EFAULT; in icarsacrt_ioctl()
1505 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in icarsacrt_ioctl()
1508 if (rc == -ENODEV && zcrypt_process_rescan()) in icarsacrt_ioctl()
1511 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in icarsacrt_ioctl()
1512 if (rc == -EAGAIN && tr.again_counter >= TRACK_AGAIN_MAX) in icarsacrt_ioctl()
1513 rc = -EIO; in icarsacrt_ioctl()
1518 return put_user(crt.outputdatalength, &ucrt->outputdatalength); in icarsacrt_ioctl()
1530 return -EFAULT; in zsecsendcprb_ioctl()
1534 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in zsecsendcprb_ioctl()
1537 if (rc == -ENODEV && zcrypt_process_rescan()) in zsecsendcprb_ioctl()
1540 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in zsecsendcprb_ioctl()
1541 if (rc == -EAGAIN && tr.again_counter >= TRACK_AGAIN_MAX) in zsecsendcprb_ioctl()
1542 rc = -EIO; in zsecsendcprb_ioctl()
1547 return -EFAULT; in zsecsendcprb_ioctl()
1560 return -EFAULT; in zsendep11cprb_ioctl()
1564 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in zsendep11cprb_ioctl()
1567 if (rc == -ENODEV && zcrypt_process_rescan()) in zsendep11cprb_ioctl()
1570 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in zsendep11cprb_ioctl()
1571 if (rc == -EAGAIN && tr.again_counter >= TRACK_AGAIN_MAX) in zsendep11cprb_ioctl()
1572 rc = -EIO; in zsendep11cprb_ioctl()
1576 return -EFAULT; in zsendep11cprb_ioctl()
1585 (struct ap_perms *)filp->private_data; in zcrypt_unlocked_ioctl()
1609 return -ENOMEM; in zcrypt_unlocked_ioctl()
1613 rc = -EFAULT; in zcrypt_unlocked_ioctl()
1622 return -EFAULT; in zcrypt_unlocked_ioctl()
1630 return -EFAULT; in zcrypt_unlocked_ioctl()
1638 return -ENOMEM; in zcrypt_unlocked_ioctl()
1642 rc = -EFAULT; in zcrypt_unlocked_ioctl()
1666 return -ENOMEM; in zcrypt_unlocked_ioctl()
1670 rc = -EFAULT; in zcrypt_unlocked_ioctl()
1680 return -EFAULT; in zcrypt_unlocked_ioctl()
1689 return -EFAULT; in zcrypt_unlocked_ioctl()
1698 return -EFAULT; in zcrypt_unlocked_ioctl()
1704 return -ENOIOCTLCMD; in zcrypt_unlocked_ioctl()
1732 return -EFAULT; in trans_modexpo32()
1741 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in trans_modexpo32()
1744 if (rc == -ENODEV && zcrypt_process_rescan()) in trans_modexpo32()
1747 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in trans_modexpo32()
1748 if (rc == -EAGAIN && tr.again_counter >= TRACK_AGAIN_MAX) in trans_modexpo32()
1749 rc = -EIO; in trans_modexpo32()
1753 &umex32->outputdatalength); in trans_modexpo32()
1779 return -EFAULT; in trans_modexpo_crt32()
1791 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in trans_modexpo_crt32()
1794 if (rc == -ENODEV && zcrypt_process_rescan()) in trans_modexpo_crt32()
1797 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in trans_modexpo_crt32()
1798 if (rc == -EAGAIN && tr.again_counter >= TRACK_AGAIN_MAX) in trans_modexpo_crt32()
1799 rc = -EIO; in trans_modexpo_crt32()
1803 &ucrt32->outputdatalength); in trans_modexpo_crt32()
1811 unsigned char padding1[16 - sizeof(compat_uptr_t)];
1814 char padding2[16 - sizeof(compat_uptr_t)];
1817 char padding3[16 - sizeof(compat_uptr_t)];
1820 char padding4[16 - sizeof(compat_uptr_t)];
1837 return -EFAULT; in trans_xcrb32()
1860 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in trans_xcrb32()
1863 if (rc == -ENODEV && zcrypt_process_rescan()) in trans_xcrb32()
1866 } while (rc == -EAGAIN && ++tr.again_counter < TRACK_AGAIN_MAX); in trans_xcrb32()
1867 if (rc == -EAGAIN && tr.again_counter >= TRACK_AGAIN_MAX) in trans_xcrb32()
1868 rc = -EIO; in trans_xcrb32()
1873 return -EFAULT; in trans_xcrb32()
1882 (struct ap_perms *)filp->private_data; in zcrypt_compat_ioctl()
1932 * We don't need locking here because the RNG API guarantees serialized in zcrypt_rng_data_read()
1938 if (rc == -ENODEV && zcrypt_process_rescan()) in zcrypt_rng_data_read()
1941 return -EIO; in zcrypt_rng_data_read()
1944 *data = zcrypt_rng_buffer[--zcrypt_rng_buffer_index]; in zcrypt_rng_data_read()
1962 rc = -ENOMEM; in zcrypt_rng_device_add()
1986 zcrypt_rng_device_count--; in zcrypt_rng_device_remove()
1999 * requests - if there are resources available. The function uses an
2004 * On timeout -ETIME is returned, on success the return value is 0.
2026 case -EINTR: in zcrypt_wait_api_operational()
2029 case -ETIME: in zcrypt_wait_api_operational()
2033 zcrypt_wait_api_state = -ETIME; in zcrypt_wait_api_operational()