summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-08-06 00:22:48 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-08-24 20:58:31 +0200
commit086611087534593e8543c193ac12a6b07865be26 (patch)
treed2d516ea9f3da971eb618299ae458dc5d532b06d
parent94c0f2e59bc3f30688c78b052e6cfed184354178 (diff)
downloadcryptodev-linux-086611087534593e8543c193ac12a6b07865be26.tar.gz
cryptodev-linux-086611087534593e8543c193ac12a6b07865be26.tar.xz
cryptodev-linux-086611087534593e8543c193ac12a6b07865be26.zip
Support NCR_OP_VERIFY in *_once_*
-rw-r--r--userspace/ncrypto_session.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/userspace/ncrypto_session.c b/userspace/ncrypto_session.c
index 9f6d317..e37aa21 100644
--- a/userspace/ncrypto_session.c
+++ b/userspace/ncrypto_session.c
@@ -37,7 +37,17 @@ ncr_session_once_key_data(ncr_key_t key, ncr_key_params_t params, ncr_crypto_op_
if (ioctl(__ncr_file_descriptor, NCRIO_SESSION_ONCE, &io) < 0)
return -1;
- return io.op.data.kdata.output_size;
+ switch (io.op.err) {
+ case NCR_VERIFICATION_FAILED:
+ errno = EDOM;
+ return -1;
+ case NCR_SUCCESS:
+ errno = 0;
+ return io.op.data.kdata.output_size;
+ default:
+ errno = EFAULT;
+ return -1;
+ }
}
int
@@ -70,7 +80,17 @@ ncr_session_once_direct_data(ncr_key_t key, ncr_key_params_t params, ncr_crypto_
if (ioctl(__ncr_file_descriptor, NCRIO_SESSION_ONCE, &io) < 0)
return -1;
- return io.op.data.udata.output_size;
+ switch (io.op.err) {
+ case NCR_VERIFICATION_FAILED:
+ errno = EDOM;
+ return -1;
+ case NCR_SUCCESS:
+ errno = 0;
+ return io.op.data.udata.output_size;
+ default:
+ errno = EFAULT;
+ return -1;
+ }
}
int