From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B734AC636CA for ; Sun, 18 Jul 2021 09:22:29 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id 0E83A61182 for ; Sun, 18 Jul 2021 09:22:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0E83A61182 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0692F4069D; Sun, 18 Jul 2021 11:22:28 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 3928A40683 for ; Sun, 18 Jul 2021 11:22:25 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10048"; a="198132857" X-IronPort-AV: E=Sophos;i="5.84,249,1620716400"; d="scan'208";a="198132857" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jul 2021 02:22:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,249,1620716400"; d="scan'208";a="498427091" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by FMSMGA003.fm.intel.com with ESMTP; 18 Jul 2021 02:22:23 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Sun, 18 Jul 2021 02:22:23 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Sun, 18 Jul 2021 02:22:23 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.171) 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.2242.10; Sun, 18 Jul 2021 02:22:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HSRBWf4+p8Qdo60yUV+fSpx4Q5qGP9R4ZLbA8vjGE3hTRarcPtxNXhj80p1akhYkJKva1BjJ6ROOIwecym70w+Z1IzqjCYFBY1cC+aLAuEudiUO0TflDHh+9OxCPjk3Uh8NVvxmj/1Bf/mD4AWqmWFJXIzls/W8qRw5BU6utS2R1okwHHuXgUUNIqETYZBfZAKHbTcqVgEXqChWxB/pSzgqv0I6hfCNizSvavVa17NBmzWvMNaCeT/FLQ2rp8s0oLvYHXo/bkMFBCALFQ+lFo3DFoTeyEvYkqL+rpMeP5ar7+K7/Ax6o6ripqJFug0UTbDsNjjdpETyHIrXXGCWK4w== 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-SenderADCheck; bh=WH3rIAwa30S3mUAEQFETh7+qEjrs4VulozMRa9rktrU=; b=WJdH/UOYyKJbox8CQuZQeiLr5e93FzXNbMyt+9MNwOu/eGW6lnIR3IjsVh+/KKJs7x4Nnq25+HEWY4EjnrlE5LDkPEGm4qDIpwRjZIf1N5nXwGcHixnUsqF4xDvS9hvbeedW3Bjq6poQmay6zL7UuNP1xYAOyLik5wpBw/CzFvZVXtDkaMek4qSb/Lxk6BCwlQpDSddGS0FT5Buin0bRXE/1vY/V2JJCBjHgo92TmsnmMt485AQBV30nPB4fgPHa+p2ANFOiswKNXeep1qvPW13xZK5kdiMdvc+14dHn9y2ty/yM8Pwj+110WqMQBLI02VMI/94ssX+Ed5fr2fiNHQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WH3rIAwa30S3mUAEQFETh7+qEjrs4VulozMRa9rktrU=; b=s7nNGyO+4OuMOLYma5Xu25aPsRPhTJ5O9YqD9rMCJ05xbOkZhnujg3Yas+4eN0llrCcNjNQMGkwCGFTZy2XGKwivQGdUNvOvvP92YrtxrBayX+20wDZ8zwLhoSLBrHns5Heb5SDfJe/IoZeCfASL+2+c/cG8D6NXsh61Ye+1frM= Received: from PH0PR11MB4824.namprd11.prod.outlook.com (2603:10b6:510:38::13) by PH0PR11MB4888.namprd11.prod.outlook.com (2603:10b6:510:32::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.23; Sun, 18 Jul 2021 09:22:21 +0000 Received: from PH0PR11MB4824.namprd11.prod.outlook.com ([fe80::71d4:246:91ea:4df5]) by PH0PR11MB4824.namprd11.prod.outlook.com ([fe80::71d4:246:91ea:4df5%3]) with mapi id 15.20.4331.032; Sun, 18 Jul 2021 09:22:21 +0000 From: "Gujjar, Abhinandan S" To: Akhil Goyal , "dev@dpdk.org" , "Jerin Jacob Kollanukkaran" CC: "Power, Ciara" Thread-Topic: [EXT] [PATCH] test: fix crypto_op length for sessionless case Thread-Index: AQHXba4ehMTU0laelUap+7tkfuTf5as3l4eAgAGMzdCAB46GgIAH2aCQgAACbwA= Date: Sun, 18 Jul 2021 09:22:21 +0000 Message-ID: References: <20210630124637.2987722-1-abhinandan.gujjar@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0480bb12-0f98-4099-27ed-08d949cd8c21 x-ms-traffictypediagnostic: PH0PR11MB4888: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6esbiGdPmZuKKIuyuH5/1iH7i8+KeU8rgrkNI95u/om8y/OY6W0Vsot7TxTammY+gmNHMKMBfwysiVn4jsq+BuAVBvZ2b7iLdnR7A+LyknC1wCCYh+cGWLyTtmmI/hYFOacrivpF/W+nj3D3UoO3twurE8Swu7u2Y7MX8FcOVqDkmtt9FP8PTXDJnX4zFR2RWjiedk7w3nITBQO7yzHi1z0+DpDeJklw5reXEaO/u+EAANlcu3h1mtE/SIsc2BErUfUM+zAR1wnInFsrS50a6M7kByTsMeg57kg2dfKr4S4UNtljmZc1arB/XRKzMhUntOGkgMY2GsDWpkT7KsVUXqLKedHP1LT+fj2WEAWbPY/Ck4LsqpAKjsBrIN/YyjIyqKyX0Dbn6OC58IWWaC+Zm6QR316XD6mxMAzi03L3Gdq5cekiaQb73cNT4P8cjP9QyD+GYx5OQ2mevrA3hVPduiBm1Qonqm5u3JMh9rZyZ3iyxMBkyIcNX2pGWbGymwkUc9CGVegiGKRDWETT6yVdNlG5Clodyz91h+5wbYoMT/yZuebveJojDjhHyZRWz37ybcVIFKj/+0eG9h2UJf6Uz6Pt0YOAk9SauHYEbpvgsU+1UeBqkcNermJavwLgh1il2QyLIMLiTt3oIeoaHKP29PO5xicS9n8L77TLqCPkBWgTQqEncFEfiBxUCrM59Uz4JTftQkKkbm0L4UcDtch1lw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB4824.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(39860400002)(396003)(136003)(376002)(366004)(5660300002)(86362001)(107886003)(52536014)(26005)(8676002)(8936002)(478600001)(76116006)(71200400001)(4326008)(66946007)(33656002)(316002)(66476007)(66556008)(64756008)(66446008)(55016002)(7696005)(53546011)(110136005)(55236004)(38100700002)(6506007)(2940100002)(122000001)(83380400001)(186003)(9686003)(2906002)(38070700004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?BQrhPL4zw6SZPIis1rA8OyOIgbZP+cFvS7+lEHHZHLCQ0i36QOr1lTezKTM3?= =?us-ascii?Q?q4MjRPY3y+jlPnbadlRREOeBVa5Dj+7fzRweatjR/JBEgaoB6Wpqv3EfAKaC?= =?us-ascii?Q?gQYIhKNh33zF0zjiUR8q/my6N3+pTvmLvQc2KdRPdsErMCxrzy4biKK9uHWf?= =?us-ascii?Q?Go6w3dFDbzFuwueIkgXFng3Rr7O77zTVpN3MPe+VkGYeYCdmgoH5+lYx0hB9?= =?us-ascii?Q?4RFvYIgjM/PbuvN5rUo7WKLCATLO5LyYUcuupDjWtinFAWR7TScqOu9LX1QS?= =?us-ascii?Q?e9CqthEd0tdq96ybxi45DAdauMIU0/abo+V+pZokUHgug7pOAHm8KStnVKjG?= =?us-ascii?Q?32INP5QTGrc95cAbVoHhdtCI6zfL7DHUp6NPdXy9wyS2fTwr0yyWFdGH6LWO?= =?us-ascii?Q?NKEKaQHr6x9dSKKNUV82OH/halZPMLhkq5mBPmFlIf7/HxdEAJpZksoel0G3?= =?us-ascii?Q?fL/0vNsMG2NL/D1V+DeUX5XTxtNBgPOctvfT7L3GJ3CKa1qOoLzxya7/wsIN?= =?us-ascii?Q?inBdbqZgzQJzRxYkoA0R/hRYyPxVzS4J7CjmDnTYLMvP69lteSErqonXHPfP?= =?us-ascii?Q?+dnm6SBLzmIPdLmtJ2N2tOqfXTfxr5do8DzmCKoUN0U+93unaNOixiDdq1Gr?= =?us-ascii?Q?oWT9Jx4Pn8J9wy2+Ctm0xbj2+vdNipgHVQZWPzNTuS8kH6ME8Ov2tSIJd8Cz?= =?us-ascii?Q?VvuegnkYLvcoDz6fTNkDoKiyuuzDJwrVl9Gt8T2riuzEGrwt7/6rfbUgEpo4?= =?us-ascii?Q?fi8SIL38XkVUDklkq67qcXqTGfy3jt/N+6XAdMrbmqVNwybxBi6Dt7TzrvaD?= =?us-ascii?Q?qTgisdHtd0Av3j813tGfnll6YvlDK8WczgRhR6UgeH/jOj1UIZ2HwuMZikXm?= =?us-ascii?Q?HXqr8QDBhXovw+Vq6ypYRMGoQP5uDCRlhCE+6ORr5YCXSC1x+p7vIo+W6e5c?= =?us-ascii?Q?GpOlLOdb+v5Dxl4qGohBSqAbczbvxL2BlKih3dBx5a9pArJVJTL3ssRlaB4x?= =?us-ascii?Q?qwQMKdu79u3t/jZ0LRXECknWayfRvt1diXY35yRAT0ZN7m9PYg3Gv3Ubo6m9?= =?us-ascii?Q?QSeyd428bEUXIPlw5kR8vTE5jueM/IEG2vapkvgRu3tIoX8a7uqBqE4j8jw7?= =?us-ascii?Q?mleLVdEWgmw/l4zYmHLPXr10bPjRcQNOwhVNE19nhEIdA6uzRlm5Ozv/QHnj?= =?us-ascii?Q?XYR9Zdt9x3erTWaz/vWi/hfbtnX/uPOhuOEoxExDnngycFoG3sm8VV9BD4bS?= =?us-ascii?Q?sI/32h7rj3LYJwY0nXzBSSxpAb1fHEfqukqqhdFBH0agKfGaQvZ6ka7j+Wng?= =?us-ascii?Q?SnI=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: PH0PR11MB4824.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0480bb12-0f98-4099-27ed-08d949cd8c21 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jul 2021 09:22:21.7025 (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: tX2nQgjste7z/EIUwFyeAQ69we0ETqB4gfFlJ0Rsn/3X5xZPLjfdpUMvg6KZpkUJwfnEKnUfXlZTONH0fyR2jsewh67BE+mTOAcSXEvulrw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4888 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [EXT] [PATCH] test: fix crypto_op length for sessionless case 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 Sender: "dev" Hi Akhil, > -----Original Message----- > From: Gujjar, Abhinandan S > Sent: Sunday, July 18, 2021 2:36 PM > To: Akhil Goyal ; dev@dpdk.org; Jerin Jacob > Kollanukkaran > Cc: Power, Ciara > Subject: RE: [EXT] [PATCH] test: fix crypto_op length for sessionless cas= e >=20 > Hi Akhil, >=20 > > -----Original Message----- > > From: Akhil Goyal > > Sent: Tuesday, July 13, 2021 2:42 PM > > To: Gujjar, Abhinandan S ; dev@dpdk.org; > > Jerin Jacob Kollanukkaran > > Cc: Power, Ciara > > Subject: RE: [EXT] [PATCH] test: fix crypto_op length for sessionless > > case > > > > Hi Abhinandan, > > > > > > > > > Currently, private_data_offset for the sessionless is computed > > > > > wrongly which includes extra bytes added because of using > > > > > sizeof(struct > > > > > rte_crypto_sym_xform) * 2) instead of (sizeof(union > > > > > rte_event_crypto_metadata)). Due to this buffer overflow, the > > > > > corruption was leading to test application crash while freeing > > > > > the ops mempool. > > > > > > > > > > Fixes: 3c2c535ecfc0 ("test: add event crypto adapter auto-test") > > > > > Reported-by: ciara.power@intel.com > > > > > > > > > > Signed-off-by: Abhinandan Gujjar > > > > > --- > > > > > app/test/test_event_crypto_adapter.c | 4 ++-- > > > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > > > > > diff --git a/app/test/test_event_crypto_adapter.c > > > > > b/app/test/test_event_crypto_adapter.c > > > > > index f689bc1f2..688ac0b2f 100644 > > > > > --- a/app/test/test_event_crypto_adapter.c > > > > > +++ b/app/test/test_event_crypto_adapter.c > > > > > @@ -229,7 +229,7 @@ test_op_forward_mode(uint8_t session_less) > > > > > first_xform =3D &cipher_xform; > > > > > sym_op->xform =3D first_xform; > > > > > uint32_t len =3D IV_OFFSET + MAXIMUM_IV_LENGTH + > > > > > - (sizeof(struct > rte_crypto_sym_xform) * 2); > > > > > + (sizeof(union > rte_event_crypto_metadata)); > > > > > op->private_data_offset =3D len; > > > > I do not understand the need for this patch. > > > This is patch provide fix for segfault at the end of > > > event_crypto_adapter_autotest() > > > RTE>>event_crypto_adapter_autotest > > > + ------------------------------------------------------- + + Test > > > Suite : Event crypto adapter test suite > > > CRYPTODEV: Creating cryptodev crypto_nullCRYPTODEV: Initialisation > > > parameters - name: crypto_null,socket id: 0, max queue pairs: 8 > > > CRYPTODEV: elt_size 0 is expanded to 336 + > > > ------------------------------------------- > > > ------------ + > > > + TestCase [ 0] : test_crypto_adapter_create succeeded + TestCase > > > [ 1] : test_crypto_adapter_qp_add_del succeeded > > > +------------------------------------------------------+ > > > + Crypto adapter stats for instance 0: > > > + Event port poll count 0 > > > + Event dequeue count 0 > > > + Cryptodev enqueue count 0 > > > + Cryptodev enqueue failed count 0 > > > + Cryptodev dequeue count 0 > > > + Event enqueue count 0 > > > + Event enqueue retry count 0 > > > + Event enqueue fail count 0 > > > +------------------------------------------------------+ > > > + TestCase [ 2] : test_crypto_adapter_stats succeeded Segmentation > > > fault (core dumped) > > > > > > > Event metadata is copied after private data offset, and this patch > > > > is > > > changing > > > > the offset value. > > > > > > > > You changed the value of len =3D iv_off + max_iv_len + > > > > metadata_size, but metadata is copied after this 'len'. See this > > > > rte_memcpy((uint8_t *)op + len, &m_data, sizeof(m_data)); > > > Op_mpool is created with element of priv_size =3D > DEFAULT_NUM_XFORMS > > * > > > sizeof(struct rte_crypto_sym_xform) + MAXIMUM_IV_LENGTH. > > > Whereas for the "sessionless" length is set to " uint32_t len =3D > > > IV_OFFSET + MAXIMUM_IV_LENGTH + (sizeof(struct > > rte_crypto_sym_xform) * 2)" > > > Whereas, IV_OFFSET =3D (sizeof(struct rte_crypto_op) + sizeof(struct > > > rte_crypto_sym_op) + DEFAULT_NUM_XFORMS * sizeof(struct > > > rte_crypto_sym_xform)). > > > > > > So substituting IV_OFFSET, len =3D (sizeof(struct rte_crypto_op) + > > > sizeof(struct > > > rte_crypto_sym_op) + DEFAULT_NUM_XFORMS * sizeof(struct > > > rte_crypto_sym_xform)) + MAXIMUM_IV_LENGTH + (sizeof(struct > > > rte_crypto_sym_xform) * 2). > > > Which is a way ahead of the boundary which causes buffer overflow. > > > > > > When memcpy is executed -> rte_memcpy((uint8_t *)op + len, > &m_data, > > > sizeof(m_data)); The m_data will overwrite the beyond the boundary. > > > Hope this clarifies the need for fix. > > > > You are setting len =3D sizeof(rte_crypto_op) + > > sizeof(rte_crypto_sym_op) + 2 > > *(sizeof(xform)) + IV_LEN + m_data_len And then copying mdata at end > > of 'len', which is not correct. Here, len already include mdata and > > you are copying mdata after its designated space. Right? > > IMO, len should be set as IV_OFFSET+IV_LEN only. > Agree. I will update the changes in the next patch. Along with above changes, ops mempool has to be updated with sizeof(union r= te_event_crypto_metadata) as below:=20 params.op_mpool =3D rte_crypto_op_pool_create( "EVENT_CRYPTO_SYM_OP_POOL", RTE_CRYPTO_OP_TYPE_SYMMETRIC, NUM_MBUFS, MBUF_CACHE_SIZE, DEFAULT_NUM_XFORMS * sizeof(struct rte_crypto_sym_xform) + MAXIMUM_IV_LENGTH + + sizeof(union rte_event_crypto_metadata), rte_socket_id()); Do you agree? >=20 > > > > > > > > > > I do not agree with this patch, am I missing something? > > > > > > > > > /* Fill in private data information */ > > > > > rte_memcpy(&m_data.response_info, > &response_info, @@ > > > - > > > > 424,7 +424,7 > > > > > @@ test_op_new_mode(uint8_t session_less) > > > > > first_xform =3D &cipher_xform; > > > > > sym_op->xform =3D first_xform; > > > > > uint32_t len =3D IV_OFFSET + MAXIMUM_IV_LENGTH + > > > > > - (sizeof(struct > rte_crypto_sym_xform) * 2); > > > > > + (sizeof(union > rte_event_crypto_metadata)); > > > > > op->private_data_offset =3D len; > > > > > /* Fill in private data information */ > > > > > rte_memcpy(&m_data.response_info, > &response_info, > > > > > -- > > > > > 2.25.1