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 DEAC4A034F; Mon, 7 Feb 2022 10:04:37 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AF358410EA; Mon, 7 Feb 2022 10:04:37 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 2DA6640DDA for ; Mon, 7 Feb 2022 10:04:36 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 2178oeCW019024; Mon, 7 Feb 2022 01:04:32 -0800 Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2172.outbound.protection.outlook.com [104.47.55.172]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3e3095r1fx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Feb 2022 01:04:32 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gS1mWRtWfwIlz4m9EEDMZJsjPjX+Puv7xt0HE983eQmGzWJITNoOFMjXONqpDSOuGoPdbF8kgdMmPnLbCGguZ8ivxCy3rl9iH1oezI3NYNa6Qe+zqqGKkDlFunNZcxFWanpUiSXi9BRWqV4hrV+93CWcXXZIAjj9cWxFemnJRMuBEcUm8pUB07V32LE1JUMdMAMMqmZqoTWOyOrxHVHCxP5nl8vggOs0MFWo0o1hIUVmugOpND3fsZ2a1vVkw+mihrAP2yxGO6gzF5A5zP/5Aq9ZxAbIsAglPyWMS9vi2Xobkx3j2oawJuQSLU4bvYDBSKcTxRAMC2OM7/+cg89MFQ== 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=FhLt0MpITzlrs8t1CEmBlAZkTUb79s6qn6XENC3R/6M=; b=NuopJC53QKDGsD6dd5Q0oVDVRlmpAxHr59HM1QqjJp4T6SvDFTejtlZPHgiHi4OXSt5vJuDPARrSBdQi2Dg1K6xAEHabgEdGxL6ji08T6Yd64mQ/2HmP/nx6CpaS0gapcscdqH8FI90t+M0YRopPC7kp8nNyWisDYn+wxynvicdwmO0FMkq+kHDqz31C0FRMeezYX/D97dTV11kZAHDXJ0OEBFfkjpY1DKNO8eGiOk0ZfXDXGtBa3y017/8xGe+YDN/TVUVIk3AXuJz4JWPWZmmOT/wzaOqZlPm+2gKmTwe1S587Jc2XbdJ8bA25XDbUr3zesOc7oAfc3PO3atFY1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FhLt0MpITzlrs8t1CEmBlAZkTUb79s6qn6XENC3R/6M=; b=VM2O+sHCGmcq9hqx2T0Qk0uOtfyn+NHVybz4wkKLliRhSyt2W2g3Z0P8Upe1uWqMvITmDK36/fFbeJdfqTsUSQptyy6QMyHJfnSRwj7K1LZ/BmehgenarKLu3SJosQVpH6djFxJPqSgo38xorH8g8TRdmgGCMN4HAg3msB9c1Jg= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by CY4PR1801MB1992.namprd18.prod.outlook.com (2603:10b6:910:78::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.18; Mon, 7 Feb 2022 09:04:30 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::9985:c3ca:2f91:7fc]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::9985:c3ca:2f91:7fc%5]) with mapi id 15.20.4951.019; Mon, 7 Feb 2022 09:04:30 +0000 From: Akhil Goyal To: Ciara Power , "dev@dpdk.org" , "thomas@monjalon.net" CC: "roy.fan.zhang@intel.com" , Anoob Joseph , "mdr@ashroe.eu" , Declan Doherty Subject: RE: [EXT] [PATCH v3 4/4] crypto: modify return value for asym session create Thread-Topic: [EXT] [PATCH v3 4/4] crypto: modify return value for asym session create Thread-Index: AQHYGRfmqk9bEutzFEqs+/3ro2AQBqyHy58Q Date: Mon, 7 Feb 2022 09:04:30 +0000 Message-ID: References: <20220203160449.1638311-1-ciara.power@intel.com> <20220203160449.1638311-5-ciara.power@intel.com> In-Reply-To: <20220203160449.1638311-5-ciara.power@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 471ac407-7450-4add-36eb-08d9ea18da06 x-ms-traffictypediagnostic: CY4PR1801MB1992:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2zHmf84UM8YOX6sRqKhGSS7Mw8WGF2KqmfarRLTdzN8Pc3N3POxZqowtrAvQB39/qOemrY2O4/9b+MSr1ar5pvG+Lgdu+amI/zTBQvh4ek59YSpX7B3e+bKKc2BmVNzTABLB0d/DzqG4O6qBMpo6tBdnwMnKFcthuB4mE7r5MCSLY0N/S/faR283HUoINd/xO+tXWKAdTkXEDGS4jHJffrUyGKA70rKOZ+KcSQKGy1bAHQZvr12XGoy/b5ClHCxwhE2ER2TyCJrvYkSFDHidiXib498+zKMcDAE/obKNqmCs2lJvrm7sxifzb7cHMZUM9CV1HpcjiMSCpMLLDsbdF/+d9sqFl0JP3qnnpDY8hWkGtxQ7W67HeTSqu27NUzP9O2xsf+9p1uinmW0A4yfCBEuQk+kX5wX9kthJr/rvA4VTUmhH9jbHjuROKpL3xzY1V935MrTNAQTSbOe5lAu0RTOJZg2ChxLaWLx5b3zruk9IkXxpyFN9PYQu1mQmXR+J1xKddE4dpCQKtbAYR4hY7VKLeT8DdnudiyQwCej7IC2gC9wQrkGVekKQu33Eh/ZtArQrekhoytCy5mZBrBiwzlVXC6GE3WJE5Mjrc1BVk+2lKfDMBY8gqmEYsyHCYK4d0x5gCBQfGmcut0V6s43vLicG3pEuhQFcPOwZBiDdI5hpEDv2hAfZV7BuIdhISS8YuyMPdQKDL4NWuIdJP9md1w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(9686003)(122000001)(5660300002)(6506007)(38100700002)(55236004)(86362001)(38070700005)(110136005)(7696005)(316002)(54906003)(2906002)(186003)(71200400001)(76116006)(66946007)(55016003)(66446008)(64756008)(66476007)(52536014)(66556008)(4326008)(8936002)(26005)(83380400001)(8676002)(33656002)(508600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?jSBjdiYKIkPzhSOOzI3S8mpufXFLMcV/ersjo1X69PFBmrBZLHgPq3WK5aE1?= =?us-ascii?Q?FfljlBxBTKVB/a+jiX/ZXNFPFCNKIYGDn6P55kFq+SzE4hz4r31SeobIsg2V?= =?us-ascii?Q?bgyLGHv0XeCbylk447AXxeNUP2KF2OtLn8fvue2ic2x5DV77S9AVDbfUPn2v?= =?us-ascii?Q?aWMA4kMrIq3rMklv3FUJ/NK8GLjiqqXG0RouED0w8ziBu9iAXLbWnS1AxZb4?= =?us-ascii?Q?Pn2/DADaxwxHTgQZQjrPEuDEDxE5NnbEUsqzpPgm62WCRrTWBik4r6gU8TNs?= =?us-ascii?Q?sqy27eX5TnPUCfMRB05+Kq5uXp2qM5kMrWcrWPiuamj4Jc3aXSl6c7e8m/Sk?= =?us-ascii?Q?lxtv1nF1eEdV7hlMk41uN4D+W+/8/jlXi15rLI1qCQTEn7+6lTERf5k8sWHw?= =?us-ascii?Q?6eVN67S0fykq7NaOgFrJI2XBsRmM2Kna6+81AUgmcaChvu5VQTVhJG9V4Urh?= =?us-ascii?Q?5XdkUTLasL1X6Aal29oavKKpPHXZRq3W/RNU7+Cxqa8HvVr9/+YcEYl3kWXT?= =?us-ascii?Q?Ea0+Yzl6VzNQ9GKg/FDbfAERr9egdOGYUVisk8p0/fBI+UzhHWB3jkmcQX74?= =?us-ascii?Q?vCBnD+fIRb6jpy+CKYQl2WisNznjJxkcAdVqC/EHM9YdGIYWUj8eEeHFz81u?= =?us-ascii?Q?5BT6jEP6O52cmLOQHFzUjwouTPhtSJMoXOvHL4ED31je8JsyIr//6zhrTGIl?= =?us-ascii?Q?mwkZC9xse6cs3VnoImn/vHeexMHPdlXulaXEzXcg36Ldpuagtl1bFGh7tVYu?= =?us-ascii?Q?W5f5TLwPYMWHj6Qsag3zycdMiwnBPiA/vKq/bDMvPs1MukjUfuXM764i3Vg1?= =?us-ascii?Q?rOOjoiT/5yL0U923/IVOHAfpjumQ74PaKKB9kfegHsYIclyHyNouHBnkkN8e?= =?us-ascii?Q?+Z5uyZrw6KJWFyvnXz64TyCSvZu93VMVSLzmOGv+Ce4YCRtnGI6wYnXBUmXC?= =?us-ascii?Q?OjWbN61eQidBOXF+gDR0FSsap2G1YIrhbaYFdxVlygpJEVSiGjQ5mnYld9Gt?= =?us-ascii?Q?pur8e9v98sXEtBRQgMZcbwDfLSG59PgMXzPilWrlNbvHSR9twOiOnn/Mjpj6?= =?us-ascii?Q?xtXnZEiPEmvCr7Gmqz8ZgCVVIthrxfBQUKGWvw22T/YzVz4WyuxEJb/96wy9?= =?us-ascii?Q?RKs3SJRMooCddZ0tTYlox/NsbJlSG4C9OomTHK6b/Dl4hpPWTQrq9MRpjnJ/?= =?us-ascii?Q?Ssovg58iAdEky+NtiJoa6/AfXx9uXlxwRhYReyDlbCfi/WicZJh065VZqvUq?= =?us-ascii?Q?6SOMeUTWMB9V262/2acXZptKUKWRRQNYuNVTxO6cKQFng17TbjYePXn+7Vg9?= =?us-ascii?Q?fJotJPBntxL1NVywrzSPKLV1BlsQ8qck4otj7Z2YS31ClaNiBD+ClwA3B20Q?= =?us-ascii?Q?k0UKjlL3ThVzElvjUZ+M3MC2ecG6sZjYhnKji1P17fx3Yi/oBjoJfIqulb5H?= =?us-ascii?Q?ZxEAJYhNP9LSLHw1CQR+OOhZvi+M21gFX/ZgVu4+HBWnF0HdbZYFOnY3q8pC?= =?us-ascii?Q?jN/ANmvYO04xM766s1CyQMcHXavKfJWObuR9EyhpfY4wA4SW2rMi1RURIG+/?= =?us-ascii?Q?KTLbkJsK/zuJNh/64YW5czc9KmYnyuEHwlmBGm5YHRVL/6+qWHvKum+nE8pQ?= =?us-ascii?Q?aQYcdzzJit1NGjQ9xUFWmsU=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 471ac407-7450-4add-36eb-08d9ea18da06 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Feb 2022 09:04:30.6497 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uCL5CuONiQko7+Y7PrvTv34rghKHaI9LVxDhXpjt+K/dSKUS8oCMFu8TA2MD2gM1aBgr3x/pJpThWKNLzfq2BQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1801MB1992 X-Proofpoint-ORIG-GUID: zYMbDps-7CbrCdK6OsP7Ql81o00v-jqK X-Proofpoint-GUID: zYMbDps-7CbrCdK6OsP7Ql81o00v-jqK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513 definitions=2022-02-07_03,2022-02-03_01,2021-12-02_01 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 > diff --git a/doc/guides/prog_guide/cryptodev_lib.rst > b/doc/guides/prog_guide/cryptodev_lib.rst > index 62bd3577f5..8e16461dc6 100644 > --- a/doc/guides/prog_guide/cryptodev_lib.rst > +++ b/doc/guides/prog_guide/cryptodev_lib.rst > @@ -1236,10 +1236,10 @@ crypto operations is similar except change to > respective op and xform setup). > * Create asym crypto session and initialize it for the crypto devic= e. > * The session structure is hidden from the app, so void * is used. > */ > - void *asym_session; > - asym_session =3D > rte_cryptodev_asym_session_create(asym_session_pool, > + void *asym_session =3D NULL; > + ret =3D rte_cryptodev_asym_session_create(&asym_session, > asym_session_pool, > cdev_id, &modex_xform); > - if (asym_session =3D=3D NULL) > + if (ret < 0) > rte_exit(EXIT_FAILURE, "Session could not be created\n"); Sample Code in the rst files is no more added. @Thomas: Could you please co= nfirm? Probably a separate patch is required to clean this up. > diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.= c > index 0d816ed4a9..005f0e7952 100644 > --- a/lib/cryptodev/rte_cryptodev.c > +++ b/lib/cryptodev/rte_cryptodev.c > @@ -1912,9 +1912,9 @@ rte_cryptodev_sym_session_create(struct > rte_mempool *mp) > return sess; > } >=20 > -void * > -rte_cryptodev_asym_session_create(struct rte_mempool *mp, uint8_t > dev_id, > - struct rte_crypto_asym_xform *xforms) > +int > +rte_cryptodev_asym_session_create(void **session, struct rte_mempool > *mp, > + uint8_t dev_id, struct rte_crypto_asym_xform *xforms) Do you really need a double pointer for the session handle? > { > struct rte_cryptodev_asym_session *sess; > uint32_t session_priv_data_sz; > @@ -1926,18 +1926,18 @@ rte_cryptodev_asym_session_create(struct > rte_mempool *mp, uint8_t dev_id, >=20 > if (!rte_cryptodev_is_valid_dev(dev_id)) { > CDEV_LOG_ERR("Invalid dev_id=3D%" PRIu8, dev_id); > - return NULL; > + return -EINVAL; > } > session_priv_data_sz =3D > rte_cryptodev_asym_get_private_session_size( > dev_id); > dev =3D rte_cryptodev_pmd_get_dev(dev_id); >=20 > if (dev =3D=3D NULL) > - return NULL; > + return -EINVAL; >=20 > if (!mp) { > CDEV_LOG_ERR("invalid mempool\n"); > - return NULL; > + return -EINVAL; > } >=20 > pool_priv =3D rte_mempool_get_priv(mp); > @@ -1945,22 +1945,23 @@ rte_cryptodev_asym_session_create(struct > rte_mempool *mp, uint8_t dev_id, > if (pool_priv->max_priv_session_sz < session_priv_data_sz) { > CDEV_LOG_DEBUG( > "The private session data size used when creating the > mempool is smaller than this device's private session data."); > - return NULL; > + return -EINVAL; > } >=20 > /* Verify if provided mempool can hold elements big enough. */ > if (mp->elt_size < session_header_size + session_priv_data_sz) { > CDEV_LOG_ERR( > "mempool elements too small to hold session > objects"); > - return NULL; > + return -EINVAL; > } >=20 > /* Allocate a session structure from the session pool */ > - if (rte_mempool_get(mp, (void **)&sess)) { > + if (rte_mempool_get(mp, session)) { > CDEV_LOG_ERR("couldn't get object from session > mempool"); > - return NULL; > + return -ENOMEM; > } >=20 > + sess =3D *session; > sess->driver_id =3D dev->driver_id; > sess->user_data_sz =3D pool_priv->user_data_sz; > sess->max_priv_session_sz =3D pool_priv->max_priv_session_sz; > @@ -1970,7 +1971,7 @@ rte_cryptodev_asym_session_create(struct > rte_mempool *mp, uint8_t dev_id, > */ > memset(sess->sess_private_data, 0, session_priv_data_sz + sess- > >user_data_sz); >=20 > - RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops- > >asym_session_configure, NULL); > + RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops- > >asym_session_configure, -ENOTSUP); >=20 > if (sess->sess_private_data[0] =3D=3D 0) { > ret =3D dev->dev_ops->asym_session_configure(dev, > @@ -1980,12 +1981,12 @@ rte_cryptodev_asym_session_create(struct > rte_mempool *mp, uint8_t dev_id, > CDEV_LOG_ERR( > "dev_id %d failed to configure session > details", > dev_id); > - return NULL; > + return ret; > } > } >=20 > rte_cryptodev_trace_asym_session_create(mp, sess); > - return sess; > + return 0; > } >=20 > int > diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.= h > index 6a4d6d9934..9a75936963 100644 > --- a/lib/cryptodev/rte_cryptodev.h > +++ b/lib/cryptodev/rte_cryptodev.h > @@ -990,18 +990,21 @@ rte_cryptodev_sym_session_create(struct > rte_mempool *mempool); > /** > * Create asymmetric crypto session header (generic with no private data= ) > * > + * @param session void ** for session to be used > * @param mempool mempool to allocate asymmetric session > * objects from > * @param dev_id ID of device that we want the session to be used on > * @param xforms Asymmetric crypto transform operations to apply on > flow > * processed with this session > * @return > - * - On success return pointer to asym-session > - * - On failure returns NULL > + * - 0 on success. > + * - -EINVAL on invalid arguments. > + * - -ENOMEM on memory error for session allocation. > + * - -ENOTSUP if device doesn't support session configuration. > */ > __rte_experimental > -void * > -rte_cryptodev_asym_session_create(struct rte_mempool *mempool, > +int > +rte_cryptodev_asym_session_create(void **session, struct rte_mempool > *mempool, > uint8_t dev_id, struct rte_crypto_asym_xform *xforms); >=20 Session should be the last parameter. First all in params and then out params.