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

