From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <stable-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id AB12EA0534
	for <public@inbox.dpdk.org>; Wed, 12 Feb 2020 14:43:35 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 9B9DB100C;
	Wed, 12 Feb 2020 14:43:35 +0100 (CET)
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
 [205.139.110.120]) by dpdk.org (Postfix) with ESMTP id 0C5AC100C
 for <stable@dpdk.org>; Wed, 12 Feb 2020 14:43:34 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
 s=mimecast20190719; t=1581515014;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
 bh=lsuX3RotiiWeDk5znDvK6HQIx8pQ6o772eWs4XFTiuo=;
 b=Qdr2YBFt52JAroaE+ub+ZGYxAIzqH+jKbdfpIEETmHEtY2rCy7Fg9wvMaaG4rBf1pGMssy
 qkhpf6vzMeBcuEzWM38QYygKRFhpdHe8eauBHjqlm033KHCaZxeXA8igq9quWhmIs/zHEf
 6yShjH03lFJk63R7vec/WV6fyt6kVMg=
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
 us-mta-42-PRTotcbiMdiyBpVNRKTA7g-1; Wed, 12 Feb 2020 08:43:26 -0500
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com
 [10.5.11.13])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 67D868017CC;
 Wed, 12 Feb 2020 13:43:25 +0000 (UTC)
Received: from [10.33.36.13] (unknown [10.33.36.13])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 0C1939006B;
 Wed, 12 Feb 2020 13:43:21 +0000 (UTC)
To: "Dybkowski, AdamX" <adamx.dybkowski@intel.com>
Cc: dpdk stable <stable@dpdk.org>
References: <20200211112216.3929-1-luca.boccassi@gmail.com>
 <20200211112216.3929-23-luca.boccassi@gmail.com>
 <522B1A062D56224ABC0C6BDBCD64D9D38CAA4D2E@IRSMSX103.ger.corp.intel.com>
 <a13248268a178043c04855ab29ed6ecde10f62e7.camel@gmail.com>
 <f3c332cd-4846-7c6e-760c-a0fc39688f1d@redhat.com>
 <522B1A062D56224ABC0C6BDBCD64D9D38CB1A0C4@IRSMSX103.ger.corp.intel.com>
From: Kevin Traynor <ktraynor@redhat.com>
Autocrypt: addr=ktraynor@redhat.com; keydata=
 mQINBF2J2awBEADUEPNhgNI+nJNgiTAUcw4YIgVXEoHlsNPyyzG1BEXkWXALy0Y3fNTiw6+r
 ltWDkF9jzL9kfkecgQ67itGfk1OaBXgSGKuw1PUpxAwX2Bi76LAR6M5OsyGM9TSVVQwARalz
 hMwRBIZPzPc7or6Pw7jAOJ8SQGJ1Zlp1YJCjrvpe87V1tH/LY8Wnxn/EuoseFmWILAQZAtYS
 tGjcrAgYn3SPMLR1B0BP5bTBY06vWQjiufH8drenfDnMJAzuBdG1mqjnTqCjULZ3Hunv4xqZ
 aMnkvL/K5Tj1c12Oe4930EE53LrXIBUltRg5mBudSWHnC7twjH0082HH9f963Z/2UI63SFIT
 iUvRvAzJYytgy7XnWLQ0+goZBADKYfolOuC0H8VgCaux8u8KFF28Dy+N6TV2KI58jTlyg1Zu
 l7QwykZpnOkJFiy37Gfbu3YEOzO72cP/S7/A+zvuqkxi63jyEkd+FY99vLt/HN2MUZwRmKDw
 UPbLkmrs8WU01/POVsqDcfvz7vu2St8hqqTiSIdQGS2zyTKB2/DvPSM3jws3udkIYSuhn+X4
 QBiV6lkVZ7DSE6a065gnAauAql+b32Eymy+xnG5jCt1tR+0Cp2VZYCR9OU2gmomUKBDoX/He
 pSgED01CqYPNjN+TddirwmQX7ep4DtXc8FWvv2g/pq9WZFQk2QARAQABtCNLZXZpbiBUcmF5
 bm9yIDxrdHJheW5vckByZWRoYXQuY29tPokCTgQTAQgAOBYhBAoiOaH51tHF7VYtEI9CINER
 a+yJBQJdidmsAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEI9CINERa+yJoxIP/3VF
 2TIgW4ckxhRFCvFu/606bnvCPie88ake4uWVWMAWwcMc4fKEltRWRCpkSVOwgqoMHnyHxK5r
 kOKzx2CLJMX5TgTMfKzPuaBDHngHLUzl2DStpBzrod0cVg5TShdmmfjY61uxRJKz+DlSkwgJ
 riADdVF5PPosQXTkKSGf2ombpTGpx/pue9ocjnr3x4SDpRLlnooM6Jf/3Y3Ib4jX6HPEyWuY
 b+owIIk9y2nRRGPQ6jbqAhsrXd9V+77UL0QuGWloMuKMZFbNg8hbu7X5aFijAbfxj4YUgojS
 ba7gfGZQan8h32A9KGQWrmsCBc3j2GqEPsX0r05X7cn7WL6IOPgQJ5EiQ7PlazQYVLrvZg9B
 n0GKK0k6895mLG0ZZ5v/qajOPF52etSmvFD1WUPb4OqaHqGA9ZtMpaKFRt7Y6rpXqKNU1xzW
 F5KjbTPtTb9WF3An8dciVv+AYUI7totkZYkWvQtgss8lfaX3NKUvXLVxqK0z3dQyr7rF/tYz
 PneTKypSksjCgaEBLSrsRmM5zKfe7tSNF/fDntfIq/029Jtcw29TcWEP57peNu6TtejewQD9
 sTI+oqiXvW2D5l7LNUDYG8eMJp2oT7I0ZSBRvwcbmjH0DtN/bXCCFfCvk8Yic68F3tV1ctix
 wQARVKDBhT30uCxycRWojCYqTgNJJS71uQINBF2J2awBEADP57PR2IpSYBeNSrsAjeIcsahE
 N4SQP2C4s50S8QEWAUhqMRI7WNv5cfeef0nDvcl1IUA6oz5SokbcsbMa+mRgaNF4N5KikWTO
 LPYxq2YVJoXwJ+tKmNzyOLFUIfFJ4NBJZple5dTfWzD00Dbb19Mri1hy1mWMqNTPGBee1+hw
 Qcp6n3mmGECvajs8G5A7NyXbwL8ihN7HX9D01ucD62b4G03yKe2g/hvKgcdUVmhCldJlF27I
 2fSR9tDxH9pZqRODY4rjbFZEey/vWKXqjE+DQ8AtMSEaDfFe5D+i4Aw6erWQ3Wr+DwZt1/7G
 dIAElGA/q90T1ENVwJX9y7fsQssawKYYdDqURHCl5JuDXI+VXUypExipUUT5SPycMmbLsx0D
 iKEqPPDQWKxkIDVKqj2+EhamSuJznZUwBLJKn0h4zrIWiXWUy07lRwtVuhaDXhF3GfW+5W/x
 wAg7Qg3w00ASsb/XTHBIhMnenKDfS7ihtQA8SacwX8ySdxb+15XPyiplM979qBQ0mhnilulm
 MIJzEf/JxoYR5huuj4f1PFqqrsP06Dl+YGB7dQZp3IKggS5c3/TAynARRg9N89UsDXNtp7X0
 tgIPFF5k6fnHE0J5O64GYHeTqN/1aE6dAEOV9WrGzQAJxU9ipikb8jKAWXzLewRIKGmoPcRZ
 WdB0NmIjmQARAQABiQI2BBgBCAAgFiEECiI5ofnW0cXtVi0Qj0Ig0RFr7IkFAl2J2awCGwwA
 CgkQj0Ig0RFr7IkkORAAl/NbX93WK5MEoRw7/DaPTo/Lo6Pj1XMeSqGyACigHK/452UDvlEH
 NjNJMzYYrNIjMtEmN9VVCfjT38CSca7mpGQVwchc0mC7QSPAETLCS+UacVf/Kwxz5FfkEUUw
 UT7A+uyVOIgW3d9ldlRzkHA2czonSSgTQU+i2g6DM4ha+BuQb4byAXH6HQHt/Zh1J64z0ohH
 v6iGsCzCY/sMWF8+LEGSnzMGRCLiiwSF0vJBHbzWK68fANaF4gBV0Z/+6tQRFN7YMhj/INmk
 qgvHj1ZzHFNtirjMGPRxoZs51YoLQM/aBPxKrnmXThx1ufH+0L6sGmFTugiDt0XSEkC5reH7
 a+VhQ1VTFFQrClA8NmDSPzFeuhru4ryaaDHO+uEB16cNHxHrQtlP/2hts2JM5lwkZRWJ5A57
 h8eDEIK5be47T85NVHfuTaboNRmgg1HygVejhGUtt69u/0MVRg/roUTa0FyEbNsvz4qAecyW
 yWzMcVrcGJDQLC9JLKEpoyUF6gdTKaiDL2Vao4+XRIA3Y57b6MO35a3HuzAv7+i5Z0mnDEJO
 XxXqTOmKYpMIGexzM/PtuA0712sT1abG9tAJ17ao/B7cqMW5IkKkalemFbWfI2unns4Papvo
 tk9igVqyp6EJDU98z5TJioCVojwK2laDaoIjTJk9YYv3iwCsqPd5feU=
Message-ID: <6e91a778-2de7-0b4b-a9b8-cfb6cbb733fa@redhat.com>
Date: Wed, 12 Feb 2020 13:43:21 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.4.1
MIME-Version: 1.0
In-Reply-To: <522B1A062D56224ABC0C6BDBCD64D9D38CB1A0C4@IRSMSX103.ger.corp.intel.com>
Content-Language: en-US
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13
X-MC-Unique: PRTotcbiMdiyBpVNRKTA7g-1
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Subject: Re: [dpdk-stable] patch 'test/crypto: fix missing operation status
 check' has been queued to stable release 19.11.1
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
Errors-To: stable-bounces@dpdk.org
Sender: "stable" <stable-bounces@dpdk.org>

On 12/02/2020 11:19, Dybkowski, AdamX wrote:
> Hi Kevin.
>=20
> I made the fix to be applied onto "18.11" branch at:
>   Clone URL: git://dpdk.org/dpdk-stable
>   Last commits: https://git.dpdk.org/dpdk-stable/log/?h=3D18.11
> Is this the correct one?
>=20

Yes

> The patch I sent (that updates the file app/test/test_cryptodev.c only) c=
an be applied on my side with no issues.
>=20

Ok, I understand it now. I was referring to cherry-picking the original
commit from master. I didn't realise that you sent a separate backport
version. I confirm that it applies cleanly to 18.11.

I missed it because stable list is high volume and the patch was not
having '18.11' in the subject [1]. I'll adjust my email filters to be a
bit more liberal as others could miss that too. Anyway, we would have
caught it a little later when I emailed you to say needed your help with
the backport.

thanks for following up,
Kevin.

[1]
http://doc.dpdk.org/guides/contributing/patches.html#backporting-patches-fo=
r-stable-releases

> Adam
>=20
>> -----Original Message-----
>> From: Kevin Traynor [mailto:ktraynor@redhat.com]
>> Sent: Tuesday, 11 February, 2020 13:10
>> To: Luca Boccassi <luca.boccassi@gmail.com>; Dybkowski, AdamX
>> <adamx.dybkowski@intel.com>
>> Cc: Trahe, Fiona <fiona.trahe@intel.com>; Ankur Dwivedi
>> <adwivedi@marvell.com>; Anoob Joseph <anoobj@marvell.com>; dpdk
>> stable <stable@dpdk.org>
>> Subject: Re: patch 'test/crypto: fix missing operation status check' has=
 been
>> queued to stable release 19.11.1
>>
>> On 11/02/2020 11:52, Luca Boccassi wrote:
>>> Hi,
>>>
>>> That's a question for Kevin, the 18.11 maintainer.
>>>
>>> On Tue, 2020-02-11 at 11:37 +0000, Dybkowski, AdamX wrote:
>>>> Hi Luca.
>>>>
>>>> I originally targeted this patch for DPDK 18.11. That's good it'll go
>>>> into 19.11, too. But will it be applied to 18.11 as well?
>>>>
>>
>> I tried to apply it on 18.11 branch last week, but it doesn't apply and =
I have a
>> note to say there was too much churn. So, you'll need to send a rebased
>> version on 18.11 branch. It will be on the list of commits that didn't a=
pply and
>> asking authors for rebase that I'll send out a bit later.
>>
>>>> Adam
>>>>
>>>>> -----Original Message-----
>>>>> From:
>>>>> luca.boccassi@gmail.com
>>>>>  [mailto:
>>>>> luca.boccassi@gmail.com
>>>>> ]
>>>>> Sent: Tuesday, 11 February, 2020 12:19
>>>>> To: Dybkowski, AdamX <
>>>>> adamx.dybkowski@intel.com
>>>>>>
>>>>> Cc: Trahe, Fiona <
>>>>> fiona.trahe@intel.com
>>>>>> ; Ankur Dwivedi
>>>>> <
>>>>> adwivedi@marvell.com
>>>>>> ; Anoob Joseph <
>>>>> anoobj@marvell.com
>>>>>> ; dpdk
>>>>> stable <
>>>>> stable@dpdk.org
>>>>>>
>>>>> Subject: patch 'test/crypto: fix missing operation status check'
>>>>> has been
>>>>> queued to stable release 19.11.1
>>>>>
>>>>> Hi,
>>>>>
>>>>> FYI, your patch has been queued to stable release 19.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/13/20. So please
>>>>> shout if anyone has objections.
>>>>>
>>>>> Also note that after the patch there's a diff of the upstream commit
>>>>> vs the patch applied to the branch. This will indicate if there was
>>>>> any rebasing needed to apply to the stable branch. If there were
>>>>> code changes for rebasing
>>>>> (ie: not only metadata diffs), please double check that the rebase
>>>>> was correctly done.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Luca Boccassi
>>>>>
>>>>> ---
>>>>> From ce8302172f9f8e06833a49abf8b283a71b07dc3b Mon Sep 17
>> 00:00:00
>>>>> 2001
>>>>> From: Adam Dybkowski <
>>>>> adamx.dybkowski@intel.com
>>>>>>
>>>>> Date: Fri, 20 Dec 2019 13:58:52 +0100
>>>>> Subject: [PATCH] test/crypto: fix missing operation status check
>>>>>
>>>>> [ upstream commit b26ef1a11f21ecde63582ed6db281c93ce9fbf23 ]
>>>>>
>>>>> This patch adds checking of the symmetric crypto operation status
>>>>> that was
>>>>> silently skipped before. It fixes the wireless algorithms session
>>>>> creation
>>>>> (SNOW3G, KASUMI, ZUC) and passing of the digest data for the
>>>>> verification
>>>>> by PMD. Also fixed the missing aad padding issue revealed after op
>>>>> status
>>>>> checking was introduced.
>>>>>
>>>>> Fixes: c0f87eb5252b ("cryptodev: change burst API to be crypto op
>>>>> oriented")
>>>>> Fixes: 77a217a19bb7 ("test/crypto: add AES-CCM tests")
>>>>>
>>>>> Signed-off-by: Adam Dybkowski <
>>>>> adamx.dybkowski@intel.com
>>>>>>
>>>>> Acked-by: Fiona Trahe <
>>>>> fiona.trahe@intel.com
>>>>>>
>>>>> Tested-by: Ankur Dwivedi <
>>>>> adwivedi@marvell.com
>>>>>>
>>>>> Reviewed-by: Anoob Joseph <
>>>>> anoobj@marvell.com
>>>>>>
>>>>> ---
>>>>>  app/test/test_cryptodev.c | 96 +++++++++++++++++++++------------
>>>>> ------
>>>>>  1 file changed, 52 insertions(+), 44 deletions(-)
>>>>>
>>>>> diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
>>>>> index
>>>>> 1b561456d7..79ced809de 100644
>>>>> --- a/app/test/test_cryptodev.c
>>>>> +++ b/app/test/test_cryptodev.c
>>>>> @@ -143,7 +143,7 @@ static struct rte_crypto_op *
>>>>> process_crypto_request(uint8_t dev_id, struct rte_crypto_op *op)  {
>>>>>  =09if (rte_cryptodev_enqueue_burst(dev_id, 0, &op, 1) !=3D 1) {
>>>>> -=09=09printf("Error sending packet for encryption");
>>>>> +=09=09RTE_LOG(ERR, USER1, "Error sending packet for
>>>>> encryption\n");
>>>>>  =09=09return NULL;
>>>>>  =09}
>>>>>
>>>>> @@ -152,6 +152,11 @@ process_crypto_request(uint8_t dev_id, struct
>>>>> rte_crypto_op *op)
>>>>>  =09while (rte_cryptodev_dequeue_burst(dev_id, 0, &op, 1) =3D=3D 0)
>>>>>  =09=09rte_pause();
>>>>>
>>>>> +=09if (op->status !=3D RTE_CRYPTO_OP_STATUS_SUCCESS) {
>>>>> +=09=09RTE_LOG(DEBUG, USER1, "Operation status %d\n", op-
>>>>>> status);
>>>>>
>>>>> +=09=09return NULL;
>>>>> +=09}
>>>>> +
>>>>>  =09return op;
>>>>>  }
>>>>>
>>>>> @@ -2823,9 +2828,18 @@
>>>>> create_wireless_algo_auth_cipher_session(uint8_t dev_id,
>>>>>  =09ut_params->sess =3D rte_cryptodev_sym_session_create(
>>>>>  =09=09=09ts_params->session_mpool);
>>>>>
>>>>> -=09status =3D rte_cryptodev_sym_session_init(dev_id, ut_params-
>>>>>> sess,
>>>>> -=09=09=09&ut_params->auth_xform,
>>>>> -=09=09=09ts_params->session_priv_mpool);
>>>>> +=09if (cipher_op =3D=3D RTE_CRYPTO_CIPHER_OP_DECRYPT) {
>>>>> +=09=09ut_params->auth_xform.next =3D NULL;
>>>>> +=09=09ut_params->cipher_xform.next =3D &ut_params->auth_xform;
>>>>> +=09=09status =3D rte_cryptodev_sym_session_init(dev_id,
>>>>> ut_params-
>>>>>> sess,
>>>>>
>>>>> +=09=09=09=09&ut_params->cipher_xform,
>>>>> +=09=09=09=09ts_params->session_priv_mpool);
>>>>> +
>>>>> +=09} else
>>>>> +=09=09status =3D rte_cryptodev_sym_session_init(dev_id,
>>>>> ut_params-
>>>>>> sess,
>>>>>
>>>>> +=09=09=09=09&ut_params->auth_xform,
>>>>> +=09=09=09=09ts_params->session_priv_mpool);
>>>>> +
>>>>>  =09TEST_ASSERT_EQUAL(status, 0, "session init failed");
>>>>>  =09TEST_ASSERT_NOT_NULL(ut_params->sess, "Session creation
>>>>> failed");
>>>>>
>>>>> @@ -3018,13 +3032,14 @@
>>>>> create_wireless_algo_cipher_hash_operation(const uint8_t
>>>>> *auth_tag,  }
>>>>>
>>>>>  static int
>>>>> -create_wireless_algo_auth_cipher_operation(unsigned int
>>>>> auth_tag_len,
>>>>> +create_wireless_algo_auth_cipher_operation(
>>>>> +=09=09const uint8_t *auth_tag, unsigned int auth_tag_len,
>>>>>  =09=09const uint8_t *cipher_iv, uint8_t cipher_iv_len,
>>>>>  =09=09const uint8_t *auth_iv, uint8_t auth_iv_len,
>>>>>  =09=09unsigned int data_pad_len,
>>>>>  =09=09unsigned int cipher_len, unsigned int cipher_offset,
>>>>>  =09=09unsigned int auth_len, unsigned int auth_offset,
>>>>> -=09=09uint8_t op_mode, uint8_t do_sgl)
>>>>> +=09=09uint8_t op_mode, uint8_t do_sgl, uint8_t verify)
>>>>>  {
>>>>>  =09struct crypto_testsuite_params *ts_params =3D &testsuite_params;
>>>>>  =09struct crypto_unittest_params *ut_params =3D &unittest_params; @@
>>>>> -3081,6 +3096,10 @@
>>>>> create_wireless_algo_auth_cipher_operation(unsigned int
>>>>> auth_tag_len,
>>>>>  =09=09}
>>>>>  =09}
>>>>>
>>>>> +=09/* Copy digest for the verification */
>>>>> +=09if (verify)
>>>>> +=09=09memcpy(sym_op->auth.digest.data, auth_tag,
>>>>> auth_tag_len);
>>>>> +
>>>>>  =09/* Copy cipher and auth IVs at the end of the crypto operation
>>>>> */
>>>>>  =09uint8_t *iv_ptr =3D rte_crypto_op_ctod_offset(
>>>>>  =09=09=09ut_params->op, uint8_t *, IV_OFFSET); @@
>>>>> -4643,7
>>>>> +4662,7 @@ test_snow3g_auth_cipher(const struct snow3g_test_data
>>>>> *tdata,
>>>>>
>>>>>  =09/* Create SNOW 3G operation */
>>>>>  =09retval =3D create_wireless_algo_auth_cipher_operation(
>>>>> -=09=09tdata->digest.len,
>>>>> +=09=09tdata->digest.data, tdata->digest.len,
>>>>>  =09=09tdata->cipher_iv.data, tdata->cipher_iv.len,
>>>>>  =09=09tdata->auth_iv.data, tdata->auth_iv.len,
>>>>>  =09=09(tdata->digest.offset_bytes =3D=3D 0 ?
>>>>> @@ -4653,7 +4672,7 @@ test_snow3g_auth_cipher(const struct
>>>>> snow3g_test_data *tdata,
>>>>>  =09=09tdata->cipher.offset_bits,
>>>>>  =09=09tdata->validAuthLenInBits.len,
>>>>>  =09=09tdata->auth.offset_bits,
>>>>> -=09=09op_mode, 0);
>>>>> +=09=09op_mode, 0, verify);
>>>>>
>>>>>  =09if (retval < 0)
>>>>>  =09=09return retval;
>>>>> @@ -4819,7 +4838,7 @@ test_snow3g_auth_cipher_sgl(const struct
>>>>> snow3g_test_data *tdata,
>>>>>
>>>>>  =09/* Create SNOW 3G operation */
>>>>>  =09retval =3D create_wireless_algo_auth_cipher_operation(
>>>>> -=09=09tdata->digest.len,
>>>>> +=09=09tdata->digest.data, tdata->digest.len,
>>>>>  =09=09tdata->cipher_iv.data, tdata->cipher_iv.len,
>>>>>  =09=09tdata->auth_iv.data, tdata->auth_iv.len,
>>>>>  =09=09(tdata->digest.offset_bytes =3D=3D 0 ?
>>>>> @@ -4829,7 +4848,7 @@ test_snow3g_auth_cipher_sgl(const struct
>>>>> snow3g_test_data *tdata,
>>>>>  =09=09tdata->cipher.offset_bits,
>>>>>  =09=09tdata->validAuthLenInBits.len,
>>>>>  =09=09tdata->auth.offset_bits,
>>>>> -=09=09op_mode, 1);
>>>>> +=09=09op_mode, 1, verify);
>>>>>
>>>>>  =09if (retval < 0)
>>>>>  =09=09return retval;
>>>>> @@ -4988,7 +5007,7 @@ test_kasumi_auth_cipher(const struct
>>>>> kasumi_test_data *tdata,
>>>>>
>>>>>  =09/* Create KASUMI operation */
>>>>>  =09retval =3D create_wireless_algo_auth_cipher_operation(
>>>>> -=09=09tdata->digest.len,
>>>>> +=09=09tdata->digest.data, tdata->digest.len,
>>>>>  =09=09tdata->cipher_iv.data, tdata->cipher_iv.len,
>>>>>  =09=09NULL, 0,
>>>>>  =09=09(tdata->digest.offset_bytes =3D=3D 0 ?
>>>>> @@ -4998,7 +5017,7 @@ test_kasumi_auth_cipher(const struct
>>>>> kasumi_test_data *tdata,
>>>>>  =09=09tdata->validCipherOffsetInBits.len,
>>>>>  =09=09tdata->validAuthLenInBits.len,
>>>>>  =09=090,
>>>>> -=09=09op_mode, 0);
>>>>> +=09=09op_mode, 0, verify);
>>>>>
>>>>>  =09if (retval < 0)
>>>>>  =09=09return retval;
>>>>> @@ -5165,7 +5184,7 @@ test_kasumi_auth_cipher_sgl(const struct
>>>>> kasumi_test_data *tdata,
>>>>>
>>>>>  =09/* Create KASUMI operation */
>>>>>  =09retval =3D create_wireless_algo_auth_cipher_operation(
>>>>> -=09=09tdata->digest.len,
>>>>> +=09=09tdata->digest.data, tdata->digest.len,
>>>>>  =09=09tdata->cipher_iv.data, tdata->cipher_iv.len,
>>>>>  =09=09NULL, 0,
>>>>>  =09=09(tdata->digest.offset_bytes =3D=3D 0 ?
>>>>> @@ -5175,7 +5194,7 @@ test_kasumi_auth_cipher_sgl(const struct
>>>>> kasumi_test_data *tdata,
>>>>>  =09=09tdata->validCipherOffsetInBits.len,
>>>>>  =09=09tdata->validAuthLenInBits.len,
>>>>>  =09=090,
>>>>> -=09=09op_mode, 1);
>>>>> +=09=09op_mode, 1, verify);
>>>>>
>>>>>  =09if (retval < 0)
>>>>>  =09=09return retval;
>>>>> @@ -5666,7 +5685,7 @@ test_zuc_auth_cipher(const struct
>>>>> wireless_test_data *tdata,
>>>>>
>>>>>  =09/* Create ZUC operation */
>>>>>  =09retval =3D create_wireless_algo_auth_cipher_operation(
>>>>> -=09=09tdata->digest.len,
>>>>> +=09=09tdata->digest.data, tdata->digest.len,
>>>>>  =09=09tdata->cipher_iv.data, tdata->cipher_iv.len,
>>>>>  =09=09tdata->auth_iv.data, tdata->auth_iv.len,
>>>>>  =09=09(tdata->digest.offset_bytes =3D=3D 0 ?
>>>>> @@ -5676,7 +5695,7 @@ test_zuc_auth_cipher(const struct
>>>>> wireless_test_data *tdata,
>>>>>  =09=09tdata->validCipherOffsetInBits.len,
>>>>>  =09=09tdata->validAuthLenInBits.len,
>>>>>  =09=090,
>>>>> -=09=09op_mode, 0);
>>>>> +=09=09op_mode, 0, verify);
>>>>>
>>>>>  =09if (retval < 0)
>>>>>  =09=09return retval;
>>>>> @@ -5852,7 +5871,7 @@ test_zuc_auth_cipher_sgl(const struct
>>>>> wireless_test_data *tdata,
>>>>>
>>>>>  =09/* Create ZUC operation */
>>>>>  =09retval =3D create_wireless_algo_auth_cipher_operation(
>>>>> -=09=09tdata->digest.len,
>>>>> +=09=09tdata->digest.data, tdata->digest.len,
>>>>>  =09=09tdata->cipher_iv.data, tdata->cipher_iv.len,
>>>>>  =09=09NULL, 0,
>>>>>  =09=09(tdata->digest.offset_bytes =3D=3D 0 ?
>>>>> @@ -5862,7 +5881,7 @@ test_zuc_auth_cipher_sgl(const struct
>>>>> wireless_test_data *tdata,
>>>>>  =09=09tdata->validCipherOffsetInBits.len,
>>>>>  =09=09tdata->validAuthLenInBits.len,
>>>>>  =09=090,
>>>>> -=09=09op_mode, 1);
>>>>> +=09=09op_mode, 1, verify);
>>>>>
>>>>>  =09if (retval < 0)
>>>>>  =09=09return retval;
>>>>> @@ -6643,7 +6662,7 @@ test_mixed_auth_cipher(const struct
>>>>> mixed_cipher_auth_test_data *tdata,
>>>>>
>>>>>  =09/* Create the operation */
>>>>>  =09retval =3D create_wireless_algo_auth_cipher_operation(
>>>>> -=09=09=09tdata->digest_enc.len,
>>>>> +=09=09=09tdata->digest_enc.data, tdata->digest_enc.len,
>>>>>  =09=09=09tdata->cipher_iv.data, tdata->cipher_iv.len,
>>>>>  =09=09=09tdata->auth_iv.data, tdata->auth_iv.len,
>>>>>  =09=09=09(tdata->digest_enc.offset =3D=3D 0 ?
>>>>> @@ -6653,7 +6672,7 @@ test_mixed_auth_cipher(const struct
>>>>> mixed_cipher_auth_test_data *tdata,
>>>>>  =09=09=09tdata->cipher.offset_bits,
>>>>>  =09=09=09tdata->validAuthLen.len_bits,
>>>>>  =09=09=09tdata->auth.offset_bits,
>>>>> -=09=09=09op_mode, 0);
>>>>> +=09=09=09op_mode, 0, verify);
>>>>>
>>>>>  =09if (retval < 0)
>>>>>  =09=09return retval;
>>>>> @@ -6827,7 +6846,7 @@ test_mixed_auth_cipher_sgl(const struct
>>>>> mixed_cipher_auth_test_data *tdata,
>>>>>
>>>>>  =09/* Create the operation */
>>>>>  =09retval =3D create_wireless_algo_auth_cipher_operation(
>>>>> -=09=09=09tdata->digest_enc.len,
>>>>> +=09=09=09tdata->digest_enc.data, tdata->digest_enc.len,
>>>>>  =09=09=09tdata->cipher_iv.data, tdata->cipher_iv.len,
>>>>>  =09=09=09tdata->auth_iv.data, tdata->auth_iv.len,
>>>>>  =09=09=09(tdata->digest_enc.offset =3D=3D 0 ?
>>>>> @@ -6837,7 +6856,7 @@ test_mixed_auth_cipher_sgl(const struct
>>>>> mixed_cipher_auth_test_data *tdata,
>>>>>  =09=09=09tdata->cipher.offset_bits,
>>>>>  =09=09=09tdata->validAuthLen.len_bits,
>>>>>  =09=09=09tdata->auth.offset_bits,
>>>>> -=09=09=09op_mode, 1);
>>>>> +=09=09=09op_mode, 1, verify);
>>>>>
>>>>>  =09if (retval < 0)
>>>>>  =09=09return retval;
>>>>> @@ -10818,13 +10837,8 @@
>>>>> test_authentication_verify_fail_when_data_corruption(
>>>>>
>>>>>  =09ut_params->op =3D process_crypto_request(ts_params-
>>>>>> valid_devs[0],
>>>>>  =09=09=09ut_params->op);
>>>>> -=09TEST_ASSERT_NOT_NULL(ut_params->op, "failed crypto process");
>>>>> -=09TEST_ASSERT_NOT_EQUAL(ut_params->op->status,
>>>>> -=09=09=09RTE_CRYPTO_OP_STATUS_SUCCESS,
>>>>> -=09=09=09"authentication not failed");
>>>>>
>>>>> -=09ut_params->obuf =3D ut_params->op->sym->m_src;
>>>>> -=09TEST_ASSERT_NOT_NULL(ut_params->obuf, "failed to retrieve
>>>>> obuf");
>>>>> +=09TEST_ASSERT_NULL(ut_params->op, "authentication not failed");
>>>>>
>>>>>  =09return 0;
>>>>>  }
>>>>> @@ -10879,13 +10893,8 @@
>>>>> test_authentication_verify_GMAC_fail_when_corruption(
>>>>>
>>>>>  =09ut_params->op =3D process_crypto_request(ts_params-
>>>>>> valid_devs[0],
>>>>>  =09=09=09ut_params->op);
>>>>> -=09TEST_ASSERT_NOT_NULL(ut_params->op, "failed crypto process");
>>>>> -=09TEST_ASSERT_NOT_EQUAL(ut_params->op->status,
>>>>> -=09=09=09RTE_CRYPTO_OP_STATUS_SUCCESS,
>>>>> -=09=09=09"authentication not failed");
>>>>>
>>>>> -=09ut_params->obuf =3D ut_params->op->sym->m_src;
>>>>> -=09TEST_ASSERT_NOT_NULL(ut_params->obuf, "failed to retrieve
>>>>> obuf");
>>>>> +=09TEST_ASSERT_NULL(ut_params->op, "authentication not failed");
>>>>>
>>>>>  =09return 0;
>>>>>  }
>>>>> @@ -10940,13 +10949,7 @@
>>>>> test_authenticated_decryption_fail_when_corruption(
>>>>>  =09ut_params->op =3D process_crypto_request(ts_params-
>>>>>> valid_devs[0],
>>>>>  =09=09=09ut_params->op);
>>>>>
>>>>> -=09TEST_ASSERT_NOT_NULL(ut_params->op, "failed crypto process");
>>>>> -=09TEST_ASSERT_NOT_EQUAL(ut_params->op->status,
>>>>> -=09=09=09RTE_CRYPTO_OP_STATUS_SUCCESS,
>>>>> -=09=09=09"authentication not failed");
>>>>> -
>>>>> -=09ut_params->obuf =3D ut_params->op->sym->m_src;
>>>>> -=09TEST_ASSERT_NOT_NULL(ut_params->obuf, "failed to retrieve
>>>>> obuf");
>>>>> +=09TEST_ASSERT_NULL(ut_params->op, "authentication not failed");
>>>>>
>>>>>  =09return 0;
>>>>>  }
>>>>> @@ -11149,6 +11152,7 @@ create_aead_operation_SGL(enum
>>>>> rte_crypto_aead_operation op,
>>>>>  =09const unsigned int auth_tag_len =3D tdata->auth_tag.len;
>>>>>  =09const unsigned int iv_len =3D tdata->iv.len;
>>>>>  =09unsigned int aad_len =3D tdata->aad.len;
>>>>> +=09unsigned int aad_len_pad =3D 0;
>>>>>
>>>>>  =09/* Generate Crypto op data structure */
>>>>>  =09ut_params->op =3D rte_crypto_op_alloc(ts_params->op_mpool,
>>>>> @@ -11203,8 +11207,10 @@ create_aead_operation_SGL(enum
>>>>> rte_crypto_aead_operation op,
>>>>>
>>>>>  =09=09rte_memcpy(iv_ptr, tdata->iv.data, iv_len);
>>>>>
>>>>> +=09=09aad_len_pad =3D RTE_ALIGN_CEIL(aad_len, 16);
>>>>> +
>>>>>  =09=09sym_op->aead.aad.data =3D (uint8_t *)rte_pktmbuf_prepend(
>>>>> -=09=09=09=09ut_params->ibuf, aad_len);
>>>>> +=09=09=09=09ut_params->ibuf, aad_len_pad);
>>>>>  =09=09TEST_ASSERT_NOT_NULL(sym_op->aead.aad.data,
>>>>>  =09=09=09=09"no room to prepend aad");
>>>>>  =09=09sym_op->aead.aad.phys_addr =3D rte_pktmbuf_iova( @@ -
>>>>> 11219,7 +11225,7 @@ create_aead_operation_SGL(enum
>>>>> rte_crypto_aead_operation op,
>>>>>  =09}
>>>>>
>>>>>  =09sym_op->aead.data.length =3D tdata->plaintext.len;
>>>>> -=09sym_op->aead.data.offset =3D aad_len;
>>>>> +=09sym_op->aead.data.offset =3D aad_len_pad;
>>>>>
>>>>>  =09return 0;
>>>>>  }
>>>>> @@ -11252,7 +11258,7 @@ test_authenticated_encryption_SGL(const
>>>>> struct
>>>>> aead_test_data *tdata,
>>>>>  =09int ecx =3D 0;
>>>>>  =09void *digest_mem =3D NULL;
>>>>>
>>>>> -=09uint32_t prepend_len =3D tdata->aad.len;
>>>>> +=09uint32_t prepend_len =3D RTE_ALIGN_CEIL(tdata->aad.len, 16);
>>>>>
>>>>>  =09if (tdata->plaintext.len % fragsz !=3D 0) {
>>>>>  =09=09if (tdata->plaintext.len / fragsz + 1 > SGL_MAX_NO) @@
>>>>> -
>>>>> 11915,6 +11921,8 @@ static struct unit_test_suite
>>>>> cryptodev_qat_testsuite  =3D
>>>>> {
>>>>>
>>>>> =09test_AES_GCM_auth_encrypt_SGL_out_of_place_400B_400B),
>>>>>  =09=09TEST_CASE_ST(ut_setup, ut_teardown,
>>>>>
>>>>> =09test_AES_GCM_auth_encrypt_SGL_out_of_place_1500B_2000B),
>>>>> +=09=09TEST_CASE_ST(ut_setup, ut_teardown,
>>>>> +
>>>>> =09test_AES_GCM_auth_encrypt_SGL_out_of_place_400B_1seg),
>>>>>  =09=09TEST_CASE_ST(ut_setup, ut_teardown,
>>>>>
>>>>> =09test_AES_GCM_authenticated_encryption_test_case_1),
>>>>>  =09=09TEST_CASE_ST(ut_setup, ut_teardown,
>>>>> --
>>>>> 2.20.1
>>>>>
>>>>> ---
>>>>>   Diff of the applied patch vs upstream commit (please double-check
>>>>> if non-
>>>>> empty:
>>>>> ---
>>>>> --- -=092020-02-11 11:17:39.986002596 +0000
>>>>> +++ 0023-test-crypto-fix-missing-operation-status-check.patch
>>>>> 2020-02-11
>>>>> 11:17:38.332000075 +0000
>>>>> @@ -1,8 +1,10 @@
>>>>> -From b26ef1a11f21ecde63582ed6db281c93ce9fbf23 Mon Sep 17
>> 00:00:00
>>>>> 2001
>>>>> +From ce8302172f9f8e06833a49abf8b283a71b07dc3b Mon Sep 17
>> 00:00:00
>>>>> 2001
>>>>>  From: Adam Dybkowski <
>>>>> adamx.dybkowski@intel.com
>>>>>>
>>>>>  Date: Fri, 20 Dec 2019 13:58:52 +0100
>>>>>  Subject: [PATCH] test/crypto: fix missing operation status check
>>>>>
>>>>> +[ upstream commit b26ef1a11f21ecde63582ed6db281c93ce9fbf23 ]
>>>>> +
>>>>>  This patch adds checking of the symmetric crypto operation
>>>>> status  that was
>>>>> silently skipped before. It fixes the wireless algorithms  session
>>>>> creation
>>>>> (SNOW3G, KASUMI, ZUC) and passing of the digest @@ -11,7 +13,6 @@
>>>>>
>>>>>  Fixes: c0f87eb5252b ("cryptodev: change burst API to be crypto op
>>>>> oriented")
>>>>>  Fixes: 77a217a19bb7 ("test/crypto: add AES-CCM tests")
>>>>> -Cc:
>>>>> stable@dpdk.org
>>>>>
>>>>>
>>>>>  Signed-off-by: Adam Dybkowski <
>>>>> adamx.dybkowski@intel.com
>>>>>>
>>>>>  Acked-by: Fiona Trahe <
>>>>> fiona.trahe@intel.com
>>>>>>
>=20