From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4AC63A04FF; Sun, 1 May 2022 14:25:03 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E8ACD4069D; Sun, 1 May 2022 14:25:02 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 85E5A4003F for ; Sun, 1 May 2022 14:25:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1651407901; x=1682943901; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=covUtL9ptif7yDluWfBrvAV/CMR+5dnpAs2tEb9eNoo=; b=Mu/ovF7Lk/8LzxsAMpVEd14fK1yi3uDBiOKTvaD/5KjFbaf9JU9XQEB1 futrTspRExUOI6Z/XZ1SIJozRob4NJBxJCfpWCVH1LPCDRsfFsFDg3bNP C6jRWBF2w6dpiZLtjIPqnPrIvtFjnWvj3JfeO4qUYWCwrtxSHXQYSjNJ4 ofPe27RgsPiqe7vaN3wQeVhf07Hrd/b/GEHemHsnNjBIVlfL1fC58Jd+i ikJ9eRCJPvOaptLcTdilbLK+yulMoc/JALgTeBcllu75/mgYNQ6P28zCq fnbCj9ocPxu2KtHSq3ynoFOm7KXLRO3gSWg30xUbcAhMumNH1xRbcHdDt w==; X-IronPort-AV: E=McAfee;i="6400,9594,10333"; a="247559046" X-IronPort-AV: E=Sophos;i="5.91,189,1647327600"; d="scan'208";a="247559046" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 May 2022 05:25:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,189,1647327600"; d="scan'208";a="598192750" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga001.jf.intel.com with ESMTP; 01 May 2022 05:24:59 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Sun, 1 May 2022 05:24:59 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Sun, 1 May 2022 05:24:59 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.43) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Sun, 1 May 2022 05:24:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h4gn2b3zlk+6DHR5+RBeeYxhyDGacqbrCa64NBhztf9Ztf+CDLRtcJ6kLCpesI/DDgBwcEpBX/hFN4UsDK++InDpI589FjeC5edAtexOgjxPNXP18k9FjNocmznHMmHb/n0pn9BCVgLdj/nyoHpu63CMqzkqw8Kxw47gvqH80Dep+XFWFw9CNxz3iT2g4ynLrMkj999XiLX9+CLPHuTpcIPdm3H8H7PhE8/z+BWontMScJqGWWwRebwF+FwMuYpnwvOpm5Ap8O3vFUdIsLTUyofoGeihufcbtQCpvnHt85Ib+oC2V/8gKo9HoZiofvRzuHcNMBrvdpQ+uFBCdg56gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8g3tbSuEeU3uDb0T80oQGSDUOxBz6wEkBOdE9DQRCgo=; b=FXEcBy5GV5lmT731jmKs/1hFoWvryFOVouI8hSDNWj+WpiposdOL1UOTRQrrTBPANm7w7RZTH6MFzzwocRrws0abvD8T5gGm5gGUQz4B35X/7rLSiA5L6S3qM0aHqsJntkGU8k6F1d3Syvi0cDI+53q5ABLscCR36DLsthbryxradpDBPK+IVCk/JJ0s97K54toTfX8BC6ZBiYIB7g+IvxqBupVRHK0NyZOxE8lJNC8kz2IK0qnNk70zffjwqYYtZCUm3vl8Gcepd2F2xjmWR59zhWBEsigNRK4Cr0MXtEww0fnCGYC4MuDotGuGYBxm9ktD62AqV+xD8gmoQod66g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH0PR11MB5832.namprd11.prod.outlook.com (2603:10b6:510:141::7) by CY4PR1101MB2166.namprd11.prod.outlook.com (2603:10b6:910:1e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Sun, 1 May 2022 12:24:57 +0000 Received: from PH0PR11MB5832.namprd11.prod.outlook.com ([fe80::ad86:86fe:a02b:174f]) by PH0PR11MB5832.namprd11.prod.outlook.com ([fe80::ad86:86fe:a02b:174f%5]) with mapi id 15.20.5186.028; Sun, 1 May 2022 12:24:57 +0000 From: "Gujjar, Abhinandan S" To: Akhil Goyal , "dev@dpdk.org" CC: Anoob Joseph , Jerin Jacob Kollanukkaran , "Jayatheerthan, Jay" , "Vangati, Narender" , Volodymyr Fialko Subject: RE: [PATCH v3 1/7] cryptodev: add APIs to get/set event metadata Thread-Topic: [PATCH v3 1/7] cryptodev: add APIs to get/set event metadata Thread-Index: AQHYVY1fL2DaYp82eUyWUZKoPF6zsK0FbyAAgAFruoCAAyXvUA== Date: Sun, 1 May 2022 12:24:56 +0000 Message-ID: References: <20220418193325.368313-1-gakhil@marvell.com> <20220421143720.1583062-1-gakhil@marvell.com> <20220421143720.1583062-2-gakhil@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.15 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e7a99fca-3447-4454-8d62-08da2b6d9a8b x-ms-traffictypediagnostic: CY4PR1101MB2166:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DCqlRIISsQM2We7DMngTPl+UKT1LabFo3sAbTApLkjul26Kk6Cj4JEuv0tarlDz25Z2F/SH+UcOD5Cp0tiYiXaqCTBWrp/f+iNBc/HNKm8sGXX8764wO3He6kRj/i1eWMHoEYuUVNcby0ssvep/i9PSqMS0OmzmbJrmgS1moob3quRP/GphPSqIkTESZtjKLl6AZAW3zyn5nGrNHc5m7LnfaxgPJx7Q58JLdQXbm7MKw40xf147t0WHIDmn3PMVK50AAxltKao1rmehlHvDU6VzVJWFLgeJjentD+mol1sBHseG5ZO+WlQbEjwiuVQk6IIg446hobsH4MLkJxvInoAlBRpdCpdLLFzvYi3P3BDka9SeptZZwgqaXU+B/0f9iGgxxO2J15fyjBgZI5SHEAGL9K9u7iUC4wczmPeefh4FJKoAAzVoTFeRUvo/wYos6rl2Tn2ETIENh+FpTMicRAbCHcSFTHEtlgXb7XU/q+mkol+1frhS4PsMnJnzgvfWe7rUvv2NxMGPiaQcGupqohDrokVaaMT+BtU62b2nXcFmsjWcmRpiKfQpsZxEIejc8PgCzcxDQiC1LCWSMvBEIVdr2cRLIQfzcAVvX/mdIb+kn/IbmGPK/U60yLRFdbDfiJ9rZ8Ej7UzsWdGK+VStghX0y2dhza0Kc+muAfPg91mVc4Bnxf1+GwsYfnuuQF2XFSqkbRV5U5dEnijkodnRh6A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5832.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(54906003)(110136005)(508600001)(55236004)(9686003)(6506007)(53546011)(7696005)(55016003)(83380400001)(186003)(71200400001)(52536014)(66476007)(86362001)(66556008)(66946007)(66446008)(4326008)(8676002)(64756008)(2906002)(5660300002)(33656002)(8936002)(38100700002)(38070700005)(122000001)(76116006)(82960400001)(316002)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ha3qvK4aIJsDYt5DwP63aBpKGj5CRP37T5p1PbfwU80YumbmrjPVxsEhwgaM?= =?us-ascii?Q?RjGVHPDhiDnoffkCDhiRS6CjXDwbOvo3aggcvfbtnwwQMXmB9bKrL/D7uFtb?= =?us-ascii?Q?g6TW13UPchmoh7azKix3m5J4+JdnticpdlZDwa56ipyKhOcrdWHWX7yEsunJ?= =?us-ascii?Q?SbdcyVJOSkjE5d5qaZI5Xd3ALPA/QLiWAXkaq+3PwJ4NMO7IFq5LgAcoVpWD?= =?us-ascii?Q?rwac9pE9groDjXLflVezQSjFXiP11DT/EgrOhpaLjJPhPwFpkrxbBdAddXSK?= =?us-ascii?Q?BtO87Lgg96g4cwXj2lehdWVvcotQcRKaWIFVB189i+teBtW4shlWhgyYloxR?= =?us-ascii?Q?80stgbcQI0NA7+X2e6Ht8g7Hb+8h+h8qynS9IiHjwQRWYpafHij58zZ1EsA3?= =?us-ascii?Q?3et8kci+N1/8zbOMgwB1dH2PDzCiECFpRNjmBIJ+Cfh6m+bv2ANCpjkEehFo?= =?us-ascii?Q?0mx/ado75F4k8zx7zIzm6k4DJZu3/7z2z1pcTINn1STKRDbMUkqt9MviJ39t?= =?us-ascii?Q?3NDGYCfDonOz3cZ3V3TwEAznZtvDTunRMFwkVxSz+L780fsV5FLF7TG6fosU?= =?us-ascii?Q?WuAWhvYwVtabU4vEc1jYBwCL9Up/csbqzl2g3PiqbH2OXOK/sQ6vbh1+GSbq?= =?us-ascii?Q?kKOWlJ99/RdVctUV0fTwe6dwkuBqwVsmyeY2obQay30U2fnoB0ZNIvJ9hnJO?= =?us-ascii?Q?J0sTivNYs9gFvIq85ZxUgmIF+mBhgH6dKTpwBxuqgASk/IC/sqd6074mf1+S?= =?us-ascii?Q?OgvpYko52ZED58YuEbvZjpXqjqID7dYWQIWs1Yafr6h7D3098qFEOOIHhBpa?= =?us-ascii?Q?MeOKb11iqu4EAa77nM7Q8jY21A8fM2zxdqYFuW3dpFdm63O7t98FQG7SEDcC?= =?us-ascii?Q?RjEhT/i4QeSOELohjdK0qtg7VaphfcXZVsOvAH9ItiaSD1ojhSBEehI77Pd1?= =?us-ascii?Q?3kIbU2jbM7mtMOMCKkRc5h2crAwWmHx9+YylnAREhHuByXXJLc61/anwhRmj?= =?us-ascii?Q?ZGh4MDtujh8HB6OQeOaUUQ8ViLyluPTqoLBHREetqrX/BM++m/sYIcilYghU?= =?us-ascii?Q?meWpyJEigFIk/HbXMcTx6prtwuaCZpKOkyZH+Qv7ohdK4XaUu11gSAKC8IRA?= =?us-ascii?Q?VomIMyPyHvxx5reXE+efggGe1XXbvPEV8LstgMybZ7J5CE8ZnWN040PXVRJR?= =?us-ascii?Q?Msc22Kw/HOfTWoFbUgcPayaZYhHLl1F/3uYXFaC6LxBpsxdm0DMxQ8cmj2UO?= =?us-ascii?Q?xbwraqDMujHV3LnjwJpdD2W3IB4UbNuv0sU+8cj0lv/X5KVCn9QOcEFLrpVs?= =?us-ascii?Q?+G8dz9E7bltJCdO0+D4vUE4o6lLveB8/FlsT/tLJmP/52oXeV06Ws6sC/r1f?= =?us-ascii?Q?DNNJyClxXN+6KrkM+qCmrptlzRmpbNyt4XqpKDgADgye3ABH0uemWuv7oTE/?= =?us-ascii?Q?uywJupE7Rnuf1jPIKmv6egVBiHW8XnUfjidRWLDyXXe1cv63A1TynLJyDgLk?= =?us-ascii?Q?Dy8XARZSpgwoTDQRxTGXQzYqXMxxcxZFuqdw9/JRyjM1Y+I7hMjldJORqArs?= =?us-ascii?Q?A2g2EBoDL5RQttnvw7X6eJBNjdU0XurF8tkUmnh7C1xKM3kx22KaceDqPp8k?= =?us-ascii?Q?iIzmChBYOBoH7IJ/7Y4HoqtzqjyJwDdnj7nwjmCIY5wsRzyx3Z2djVzED0Wu?= =?us-ascii?Q?QK7KakU2uqgAs/AAhyPOAJXsY7wh3Ds6tZOx8ZJmJHEq5Nx38oeH/u5I/HLk?= =?us-ascii?Q?MZw5+wzsVbn/wTo0XYF0eI0JPYmUJ6s=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5832.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7a99fca-3447-4454-8d62-08da2b6d9a8b X-MS-Exchange-CrossTenant-originalarrivaltime: 01 May 2022 12:24:56.9988 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: AozOkCKEo6HJZ2O02qR+Eoov0zk0ARoEAAozcJSIotnfLVktWAABozNjs6DvWZTqJRYDx/Q6Run5ncF9Zd0D0aqrGoAmpT8wp0KzN1lAEXs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1101MB2166 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org > -----Original Message----- > From: Akhil Goyal > Sent: Friday, April 29, 2022 5:47 PM > To: Gujjar, Abhinandan S ; dev@dpdk.org > Cc: Anoob Joseph ; Jerin Jacob Kollanukkaran > ; Jayatheerthan, Jay ; > Vangati, Narender ; Volodymyr Fialko > > Subject: RE: [PATCH v3 1/7] cryptodev: add APIs to get/set event metadata >=20 > Hi Abhinandan, >=20 > Please see inline. > > > + > > > +void * > > > +rte_cryptodev_session_event_mdata_get(struct rte_crypto_op *op) { > > Null check for op? >=20 > Null check can be added, but this a datapath dpdk internal API. > We do not normally add checks in datapath. > If you insist, I can add, but before calling this API, PMD/lib would have= already > checked for null op. It is ok for get API. It is better to add the check for set API as it expos= ed to user application. Currently, the set API is validating dev_id. It is better to add a null che= ck only for set API. >=20 > > > + if (op->type =3D=3D RTE_CRYPTO_OP_TYPE_SYMMETRIC && > > > + op->sess_type =3D=3D RTE_CRYPTO_OP_WITH_SESSION) > > > + return rte_cryptodev_sym_session_get_user_data(op->sym- > > > >session); > > > + else if (op->type =3D=3D RTE_CRYPTO_OP_TYPE_ASYMMETRIC && > > > + op->sess_type =3D=3D RTE_CRYPTO_OP_WITH_SESSION) > > > + return op->asym->session->event_mdata; > > > + else if (op->sess_type =3D=3D RTE_CRYPTO_OP_SESSIONLESS && > > > + op->private_data_offset) > > > + return ((uint8_t *)op + op->private_data_offset); > > > + else > > > + return NULL; > > > +} > > > diff --git a/lib/cryptodev/cryptodev_pmd.h > > > b/lib/cryptodev/cryptodev_pmd.h index 2b1ce2da2d..7969944b66 100644 > > > --- a/lib/cryptodev/cryptodev_pmd.h > > > +++ b/lib/cryptodev/cryptodev_pmd.h > > > @@ -398,6 +398,25 @@ typedef int > > > (*cryptodev_sym_configure_raw_dp_ctx_t)( > > > enum rte_crypto_op_sess_type sess_type, > > > union rte_cryptodev_session_ctx session_ctx, uint8_t is_update); > > > > > > +/** > > > + * Typedef that the driver provided to set event crypto meta data. > > > + * > > > + * @param dev Crypto device pointer. > > > + * @param sess Crypto or security session. > > > + * @param op_type Operation type. > > > + * @param sess_type Session type. > > > + * @param ev_mdata Pointer to the event crypto meta data > > > + * (aka *union rte_event_crypto_metadata*) > > > + * @return > > > + * - On success return 0. > > > + * - On failure return negative integer. > > > + */ > > > +typedef int (*cryptodev_session_event_mdata_set_t)( > > > + struct rte_cryptodev *dev, void *sess, > > > + enum rte_crypto_op_type op_type, > > > + enum rte_crypto_op_sess_type sess_type, > > > + void *ev_mdata); > > > + > > > /** Crypto device operations function pointer table */ struct > > > rte_cryptodev_ops { > > > cryptodev_configure_t dev_configure; /**< Configure device. */ > > > @@ -442,6 +461,8 @@ struct rte_cryptodev_ops { > > > /**< Initialize raw data path context data. */ > > > }; > > > }; > > > + cryptodev_session_event_mdata_set_t session_ev_mdata_set; > > > + /**< Set a Crypto or Security session even meta data. */ > > > }; > > > > > > > > > @@ -603,6 +624,19 @@ void > > > cryptodev_fp_ops_set(struct rte_crypto_fp_ops *fp_ops, > > > const struct rte_cryptodev *dev); > > > > > > +/** > > > + * Get session event meta data (aka *union > > > +rte_event_crypto_metadata*) > > > + * > > > + * @param op pointer to *rte_crypto_op* structure. > > > + * > > > + * @return > > > + * - On success, pointer to event crypto metadata > > > + * - On failure, a negative value. > > > + */ > > > +__rte_internal > > > +void * > > > +rte_cryptodev_session_event_mdata_get(struct rte_crypto_op *op); > > > + > > > static inline void * > > > get_sym_session_private_data(const struct rte_cryptodev_sym_session > > *sess, > > > uint8_t driver_id) { > > > @@ -636,6 +670,8 @@ RTE_STD_C11 struct rte_cryptodev_asym_session { > > > /**< Size of private data used when creating mempool */ > > > uint16_t user_data_sz; > > > /**< Session user data will be placed after sess_data */ > > > + void *event_mdata; > > > + /**< Event crypto adapter metadata */ > > Add reference to rte_event_crypto_metadata for clarity? >=20 > Ok will add the comment. >=20 > > > uint8_t padding[3]; > > > uint8_t sess_private_data[0]; > > > }; > > > diff --git a/lib/cryptodev/rte_cryptodev.c > > > b/lib/cryptodev/rte_cryptodev.c > > index > > > 3500a2d470..a070cb2a00 100644 > > > --- a/lib/cryptodev/rte_cryptodev.c > > > +++ b/lib/cryptodev/rte_cryptodev.c > > > @@ -2051,6 +2051,9 @@ rte_cryptodev_asym_session_free(uint8_t > > > dev_id, void *sess) > > > > > > dev->dev_ops->asym_session_clear(dev, sess); > > > > > > + if (((struct rte_cryptodev_asym_session *)sess)->event_mdata) > > > + rte_free(((struct rte_cryptodev_asym_session *)sess)- > > > >event_mdata); > > > + > > Who allocates memory for event_mdata? If this done by application > > before calling rte_cryptodev_session_event_mdata_set(), please > > document it. >=20 > It is same as was done before this patch. > The rte_cryptodev_session_event_mdata_set is allocating and making the co= py > as it was copied in userdata before. Hence, no update is required. ok >=20 > > > /* Return session to mempool */ > > > sess_mp =3D rte_mempool_from_obj(sess); > > > rte_mempool_put(sess_mp, sess); > > > @@ -2259,6 +2262,44 @@ rte_cryptodev_configure_raw_dp_ctx(uint8_t > > > dev_id, uint16_t qp_id, > > > sess_type, session_ctx, is_update); } > > > > > > +int > > > +rte_cryptodev_session_event_mdata_set(uint8_t dev_id, void *sess, > > > + enum rte_crypto_op_type op_type, > > > + enum rte_crypto_op_sess_type sess_type, > > > + void *ev_mdata, > > > + uint16_t size) > > > +{ > > > + struct rte_cryptodev *dev; > > > + > > > + if (!rte_cryptodev_is_valid_dev(dev_id)) > > > + goto skip_pmd_op; > > > + > > > + dev =3D rte_cryptodev_pmd_get_dev(dev_id); > > > + if (dev->dev_ops->session_ev_mdata_set =3D=3D NULL) > > > + goto skip_pmd_op; > > > + > > > + return (*dev->dev_ops->session_ev_mdata_set)(dev, sess, op_type, > > > + sess_type, ev_mdata); > > > + > > > +skip_pmd_op: > > > + if (op_type =3D=3D RTE_CRYPTO_OP_TYPE_SYMMETRIC) > > > + return rte_cryptodev_sym_session_set_user_data(sess, > > > ev_mdata, > > > + size); > > > + else if (op_type =3D=3D RTE_CRYPTO_OP_TYPE_ASYMMETRIC) { > > > + struct rte_cryptodev_asym_session *s =3D sess; > > Null check for sess? >=20 > Again, it is a datapath, avoided extra checks. >=20 > > > + > > > + if (s->event_mdata =3D=3D NULL) { > > > + s->event_mdata =3D rte_malloc(NULL, size, 0); > > > + if (s->event_mdata =3D=3D NULL) > > > + return -ENOMEM; > > > + } > > > + rte_memcpy(s->event_mdata, ev_mdata, size); > > > + > > > + return 0; > > > + } else > > > + return -ENOTSUP; > > > +}