blob: 83d9005a06e7408c72f2128e960ed946dc87184c [file] [log] [blame]
From c2bf0e42b1d9fda60cde4a3a682784d349ef1c0b Mon Sep 17 00:00:00 2001
From: Cristian Stoica <cristian.stoica@nxp.com>
Date: Thu, 4 May 2017 15:06:21 +0300
Subject: [PATCH 2/3] refactoring: relocate code to simplify later patches
This code move will simplify the conversion to new AEAD interface in
next patches
Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
Upstream-Status: Backport
Commit ID: c2bf0e42b1d9fda
Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
---
authenc.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/authenc.c b/authenc.c
index 28eb0f9..95727b4 100644
--- a/authenc.c
+++ b/authenc.c
@@ -711,11 +711,18 @@ static int crypto_auth_zc_aead(struct csession *ses_ptr, struct kernel_crypt_aut
return -ENOMEM;
}
+ ret = get_userbuf(ses_ptr, caop->src, caop->len, caop->dst, kcaop->dst_len,
+ kcaop->task, kcaop->mm, &src_sg, &dst_sg);
+ if (unlikely(ret)) {
+ derr(1, "get_userbuf(): Error getting user pages.");
+ goto free_auth_buf;
+ }
+
if (caop->auth_src && caop->auth_len > 0) {
if (unlikely(copy_from_user(auth_buf, caop->auth_src, caop->auth_len))) {
derr(1, "unable to copy auth data from userspace.");
ret = -EFAULT;
- goto free_auth_buf;
+ goto free_pages;
}
sg_init_one(&tmp, auth_buf, caop->auth_len);
@@ -724,16 +731,10 @@ static int crypto_auth_zc_aead(struct csession *ses_ptr, struct kernel_crypt_aut
auth_sg = NULL;
}
- ret = get_userbuf(ses_ptr, caop->src, caop->len, caop->dst, kcaop->dst_len,
- kcaop->task, kcaop->mm, &src_sg, &dst_sg);
- if (unlikely(ret)) {
- derr(1, "get_userbuf(): Error getting user pages.");
- goto free_auth_buf;
- }
-
ret = auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
src_sg, dst_sg, caop->len);
+free_pages:
release_user_pages(ses_ptr);
free_auth_buf:
--
2.11.0