From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 6AA1D5B3E for ; Tue, 31 Jul 2018 06:57:21 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Jul 2018 21:57:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,426,1526367600"; d="scan'208";a="68821775" Received: from kmsmsx151.gar.corp.intel.com ([172.21.73.86]) by FMSMGA003.fm.intel.com with ESMTP; 30 Jul 2018 21:57:17 -0700 Received: from pgsmsx102.gar.corp.intel.com ([169.254.6.26]) by KMSMSX151.gar.corp.intel.com ([169.254.10.13]) with mapi id 14.03.0319.002; Tue, 31 Jul 2018 12:57:16 +0800 From: "Gujjar, Abhinandan S" To: Christian Ehrhardt , "De Lara Guarch, Pablo" CC: "Ananyev, Konstantin" , dpdk stable Thread-Topic: patch 'cryptodev: fix ABI breakage' has been queued to stable release 18.05.1 Thread-Index: AQHUKCChE/97jp1uQku94BqHOQOrlqSoxSXg Date: Tue, 31 Jul 2018 04:57:16 +0000 Message-ID: <5612CB344B05EE4F95FC5B729939F780707B8CB5@PGSMSX102.gar.corp.intel.com> References: <20180730161342.16566-1-christian.ehrhardt@canonical.com> <20180730161342.16566-34-christian.ehrhardt@canonical.com> In-Reply-To: <20180730161342.16566-34-christian.ehrhardt@canonical.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMDMwZGMxNzUtMzA2Zi00MDIxLTkxNDMtZTVkNmUwNDVjMDQxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWGlRK3M5Y2xtUkR2XC9TZDI2VDVydWhvNHhmamJhdDdwZEpwTGlSV0NHXC9rNmpxT2J4c0EwOWdIVEZpRjFNSmZHIn0= dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [172.30.20.206] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-stable] patch 'cryptodev: fix ABI breakage' has been queued to stable release 18.05.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: Tue, 31 Jul 2018 04:57:23 -0000 Hi Christian, It looks good to me.=20 Thanks Abhinandan > -----Original Message----- > From: Christian Ehrhardt > Sent: Monday, July 30, 2018 9:41 PM > To: De Lara Guarch, Pablo > Cc: Ananyev, Konstantin ; Gujjar, Abhinanda= n S > ; dpdk stable > Subject: patch 'cryptodev: fix ABI breakage' has been queued to stable re= lease > 18.05.1 >=20 > Hi, >=20 > FYI, your patch has been queued to stable release 18.05.1 >=20 > Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. > It will be pushed if I get no objections before 08/01/18. So please shout= if > anyone has objections. >=20 > Thanks. >=20 > Christian Ehrhardt >=20 > --- > From 58a40173c60e142288bb3ab2447b29254cc2a733 Mon Sep 17 00:00:00 > 2001 > From: Pablo de Lara > Date: Wed, 13 Jun 2018 10:36:48 +0100 > Subject: [PATCH] cryptodev: fix ABI breakage >=20 > [ upstream commit ce5e6bf69eb32d5ea1d95e2a623f8f9d284a806d ] >=20 > In 17.08, the crypto operation was restructured, and some reserved bytes = (5) > were added to have the mempool pointer aligned to 64 bits, since the str= ucture > is expected to be aligned to 64 bits, allowing future additions with no A= BI > breakage needed. >=20 > In 18.05, a new 2-byte field was added, so the reserved bytes were reduce= d to 3. > However, this field was added after the first 3 bytes of the structure, c= ausing it > to be placed in an offset of 4 bytes, and therefore, forcing the mempool = pointer > to be placed after 16 bytes, instead of a 8 bytes, causing unintentionall= y the ABI > breakage. >=20 > This commit fixes the breakage, by swapping the reserved bytes and the > private_data_offset field, so the latter is aligned to 2 bytes and the of= fset of the > mempool pointer returns to its original offset, > 8 bytes. >=20 > Fixes: 54c836846603 ("cryptodev: set private data for session-less mode") >=20 > Reported-by: Konstantin Ananyev > Signed-off-by: Pablo de Lara > Acked-by: Konstantin Ananyev > Acked-by: Abhinandan Gujjar > --- > lib/librte_cryptodev/rte_crypto.h | 51 +++++++++++++++++++------------ > 1 file changed, 31 insertions(+), 20 deletions(-) >=20 > diff --git a/lib/librte_cryptodev/rte_crypto.h b/lib/librte_cryptodev/rte= _crypto.h > index 25404264b..a16be656d 100644 > --- a/lib/librte_cryptodev/rte_crypto.h > +++ b/lib/librte_cryptodev/rte_crypto.h > @@ -73,26 +73,37 @@ enum rte_crypto_op_sess_type { > * rte_cryptodev_enqueue_burst() / rte_cryptodev_dequeue_burst() . > */ > struct rte_crypto_op { > - uint8_t type; > - /**< operation type */ > - uint8_t status; > - /**< > - * operation status - this is reset to > - * RTE_CRYPTO_OP_STATUS_NOT_PROCESSED on allocation from > mempool and > - * will be set to RTE_CRYPTO_OP_STATUS_SUCCESS after crypto > operation > - * is successfully processed by a crypto PMD > - */ > - uint8_t sess_type; > - /**< operation session type */ > - uint16_t private_data_offset; > - /**< Offset to indicate start of private data (if any). The offset > - * is counted from the start of the rte_crypto_op including IV. > - * The private data may be used by the application to store > - * information which should remain untouched in the library/driver > - */ > - > - uint8_t reserved[3]; > - /**< Reserved bytes to fill 64 bits for future additions */ > + __extension__ > + union { > + uint64_t raw; > + __extension__ > + struct { > + uint8_t type; > + /**< operation type */ > + uint8_t status; > + /**< > + * operation status - this is reset to > + * RTE_CRYPTO_OP_STATUS_NOT_PROCESSED on > allocation > + * from mempool and will be set to > + * RTE_CRYPTO_OP_STATUS_SUCCESS after crypto > operation > + * is successfully processed by a crypto PMD > + */ > + uint8_t sess_type; > + /**< operation session type */ > + uint8_t reserved[3]; > + /**< Reserved bytes to fill 64 bits for > + * future additions > + */ > + uint16_t private_data_offset; > + /**< Offset to indicate start of private data (if any). > + * The offset is counted from the start of the > + * rte_crypto_op including IV. > + * The private data may be used by the application > + * to store information which should remain untouched > + * in the library/driver > + */ > + }; > + }; > struct rte_mempool *mempool; > /**< crypto operation mempool which operation is allocated from */ >=20 > -- > 2.17.1