From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 2183C9E7 for ; Wed, 15 Feb 2017 07:25:05 +0100 (CET) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Feb 2017 22:25:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,164,1484035200"; d="scan'208";a="1094927618" Received: from yliu-dev.sh.intel.com ([10.239.67.162]) by orsmga001.jf.intel.com with ESMTP; 14 Feb 2017 22:25:04 -0800 From: Yuanhan Liu To: Pablo de Lara Cc: Yuanhan Liu , Deepak Kumar Jain , dpdk stable Date: Wed, 15 Feb 2017 14:26:38 +0800 Message-Id: <1487140012-13314-26-git-send-email-yuanhan.liu@linux.intel.com> X-Mailer: git-send-email 1.9.0 In-Reply-To: <1487140012-13314-1-git-send-email-yuanhan.liu@linux.intel.com> References: <1487140012-13314-1-git-send-email-yuanhan.liu@linux.intel.com> Subject: [dpdk-stable] patch 'drivers/crypto: fix different auth/cipher keys' has been queued to stable release 16.11.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Feb 2017 06:25:06 -0000 Hi, FYI, your patch has been queued to stable release 16.11.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/18/17. So please shout if anyone has objections. Thanks. --yliu --- >>From 5220ac71381e1a4c13bc09188fe5c5d7d89921d8 Mon Sep 17 00:00:00 2001 From: Pablo de Lara Date: Tue, 7 Feb 2017 22:49:58 +0000 Subject: [PATCH] drivers/crypto: fix different auth/cipher keys [ upstream commit 67072263688e789bfeff68e19784b50498e8a17f ] When ciphering and authenticating in the same operation (cipher-then-auth or auth-then-cipher), the cipher key and authentication key were set with the same key, in SNOW3G, KASUMI and ZUC PMDs. They were using the key of the first transform structure, instead of using the keys of the two different transform structures. This is not a big issue, since usually, the same key is used for ciphering and authentication, but keys may be different. Fixes: 3aafc423cf4d ("snow3g: add driver for SNOW 3G library") Fixes: 2773c86d061a ("crypto/kasumi: add driver for KASUMI library") Fixes: cf7685d68f00 ("crypto/zuc: add driver for ZUC library") Signed-off-by: Pablo de Lara Acked-by: Deepak Kumar Jain --- drivers/crypto/kasumi/rte_kasumi_pmd.c | 4 ++-- drivers/crypto/snow3g/rte_snow3g_pmd.c | 4 ++-- drivers/crypto/zuc/rte_zuc_pmd.c | 6 ++++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd.c b/drivers/crypto/kasumi/rte_kasumi_pmd.c index b119da2..c22128d 100644 --- a/drivers/crypto/kasumi/rte_kasumi_pmd.c +++ b/drivers/crypto/kasumi/rte_kasumi_pmd.c @@ -137,7 +137,7 @@ kasumi_set_session_parameters(struct kasumi_session *sess, if (cipher_xform->cipher.algo != RTE_CRYPTO_CIPHER_KASUMI_F8) return -EINVAL; /* Initialize key */ - sso_kasumi_init_f8_key_sched(xform->cipher.key.data, + sso_kasumi_init_f8_key_sched(cipher_xform->cipher.key.data, &sess->pKeySched_cipher); } @@ -147,7 +147,7 @@ kasumi_set_session_parameters(struct kasumi_session *sess, return -EINVAL; sess->auth_op = auth_xform->auth.op; /* Initialize key */ - sso_kasumi_init_f9_key_sched(xform->auth.key.data, + sso_kasumi_init_f9_key_sched(auth_xform->auth.key.data, &sess->pKeySched_hash); } diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd.c b/drivers/crypto/snow3g/rte_snow3g_pmd.c index 3b4292a..0081fec 100644 --- a/drivers/crypto/snow3g/rte_snow3g_pmd.c +++ b/drivers/crypto/snow3g/rte_snow3g_pmd.c @@ -137,7 +137,7 @@ snow3g_set_session_parameters(struct snow3g_session *sess, if (cipher_xform->cipher.algo != RTE_CRYPTO_CIPHER_SNOW3G_UEA2) return -EINVAL; /* Initialize key */ - sso_snow3g_init_key_sched(xform->cipher.key.data, + sso_snow3g_init_key_sched(cipher_xform->cipher.key.data, &sess->pKeySched_cipher); } @@ -147,7 +147,7 @@ snow3g_set_session_parameters(struct snow3g_session *sess, return -EINVAL; sess->auth_op = auth_xform->auth.op; /* Initialize key */ - sso_snow3g_init_key_sched(xform->auth.key.data, + sso_snow3g_init_key_sched(auth_xform->auth.key.data, &sess->pKeySched_hash); } diff --git a/drivers/crypto/zuc/rte_zuc_pmd.c b/drivers/crypto/zuc/rte_zuc_pmd.c index 3849119..7057fca 100644 --- a/drivers/crypto/zuc/rte_zuc_pmd.c +++ b/drivers/crypto/zuc/rte_zuc_pmd.c @@ -136,7 +136,8 @@ zuc_set_session_parameters(struct zuc_session *sess, if (cipher_xform->cipher.algo != RTE_CRYPTO_CIPHER_ZUC_EEA3) return -EINVAL; /* Copy the key */ - memcpy(sess->pKey_cipher, xform->cipher.key.data, ZUC_IV_KEY_LENGTH); + memcpy(sess->pKey_cipher, cipher_xform->cipher.key.data, + ZUC_IV_KEY_LENGTH); } if (auth_xform) { @@ -145,7 +146,8 @@ zuc_set_session_parameters(struct zuc_session *sess, return -EINVAL; sess->auth_op = auth_xform->auth.op; /* Copy the key */ - memcpy(sess->pKey_hash, xform->auth.key.data, ZUC_IV_KEY_LENGTH); + memcpy(sess->pKey_hash, auth_xform->auth.key.data, + ZUC_IV_KEY_LENGTH); } -- 1.9.0