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 42584A0C4D; Mon, 4 Oct 2021 20:53:23 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2B632412A6; Mon, 4 Oct 2021 20:53:23 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 624AF4127B for ; Mon, 4 Oct 2021 20:53:21 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10127"; a="311757506" X-IronPort-AV: E=Sophos;i="5.85,346,1624345200"; d="scan'208";a="311757506" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2021 10:19:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,346,1624345200"; d="scan'208";a="567294686" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga002.fm.intel.com with ESMTP; 04 Oct 2021 10:19:10 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 4 Oct 2021 10:19:10 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 4 Oct 2021 10:19:10 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.172) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Mon, 4 Oct 2021 10:19:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KZU6zVDgx3YXKpb16U4NqUcIV4K3aNWmAJ6sbKl68xjtRmzCLqyECjbjU7gQIFOSayj8XYrkusP2iWwvvrnzPhtG2QX2w1O3QgM/S9uSnYiCt7WzVfEZ3YdUM7iojA4fsn+zMCyrZVVI/xI5l+oPGLtRdyS+1myMYH7VxktUbEnbz7YRYM/+UawRyf6F24rRrTNqrAOhwPJxo8g496QC4a/vJc3R8A5sXeBNQRsVBT//2O6oCuXaW5L0a6NpaQeC0XzenQVdXdcLfGY44qBYw/shAhz4yxYnmHRYZPQvTnG+0hTFtsle74cP0bnaQlIzqnyPc0sOp2FhoDZ2oef6Mg== 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=Ot4GWqKGZ0izfg5OBjxhQn5zobaKbIw6B/B7Igj6Fnk=; b=SY35+Of4StQ5/89ji1UnktmW4+NJnAq5A58hF1MDalMZSPRW0ZPcy1GX7WJRCbOEsSg42qAuROEl9SsO2M69thJb3O/ymv1+PcJaQxT2Jw05rFywgXoRcqktVqxgqxzG/D12F77khXOLDypWawBGOskQ2UYvt4gdca8jeMuMU0bVqDQTLshZpuMFfLgoJj7/TaEtH4DHozm0OKof+atzCkncv424XsC86TlO13NAijovWH6vFitakufFZXa7Z9j7iGE1qFN9fRpfhxVGiTt/79secaiEAruhISTge7WZzrZswJ4OTiUtTExw6rIgEf58xsw2WDgsWQEzb8gM1pZrvA== 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=Ot4GWqKGZ0izfg5OBjxhQn5zobaKbIw6B/B7Igj6Fnk=; b=h1orejeA8gN/rPO68OjEj8bvYW6qJta6C7QY2rYSPODnZAQNppiAZDrav8jgXFzT0pKC5foCYjS5SkLNg4Y1cpAAFZTZLSfGJGoQ1FsXp83W/ZhexwNL4/iBPpEI+xKVB2SNQXHI8h86DQSoSXZ4sRnIc4UEgCPLH5qFTGOeil8= Received: from BN6SPR00MB239.namprd11.prod.outlook.com (2603:10b6:405:11::23) by BN6PR1101MB2163.namprd11.prod.outlook.com (2603:10b6:405:58::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.22; Mon, 4 Oct 2021 17:19:08 +0000 Received: from BN6SPR00MB239.namprd11.prod.outlook.com ([fe80::ccd0:582d:7ffc:6102]) by BN6SPR00MB239.namprd11.prod.outlook.com ([fe80::ccd0:582d:7ffc:6102%6]) with mapi id 15.20.4566.022; Mon, 4 Oct 2021 17:19:08 +0000 From: "Jayatheerthan, Jay" To: "Kundapura, Ganapati" , "jerinjacobk@gmail.com" , "dev@dpdk.org" Thread-Topic: [PATCH v4] eventdev/rx-adapter: fix segfault in queue conf get Thread-Index: AQHXtoVsmqTF+UX/EUuovorHklawfKvDGe8w Date: Mon, 4 Oct 2021 17:19:08 +0000 Message-ID: References: <20211001051954.1055473-1-ganapati.kundapura@intel.com> <20211001053000.1063729-1-ganapati.kundapura@intel.com> In-Reply-To: <20211001053000.1063729-1-ganapati.kundapura@intel.com> 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.200.16 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 660d04a3-d9bf-4a60-4685-08d9875b1375 x-ms-traffictypediagnostic: BN6PR1101MB2163: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2582; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BOYkVh1UYdRcTGd8tmrbiMLAijAZGS4XZh5fj0q04T49/Cs/u4wub/clBQ4XQfTnVEkLAaa5dI12CWVx0XeFQELuLjXmvd5/1SPvzzvPX7GYPZe5Gw7pXLHwriSXSiwufAFjw8xa9IU9zx072SHYKiIYQFvT5uRIcY1/8CHdH9Uc04GeRVmMcsVda9zoiWG0cCDG83HpX69YKKdc3pA7bBxpgjisqUlJz/HF3PBXXXIPwt1/dSOPLjSL+PTbMH2x+F4dDrZWW3bPpMEmL6K7TU6gQjmAsGc2nyrGTVpN0dBwRT1R0qEoBk3b7Rb6OS5JRZXQ/MHfP20J5HoWAgW5S14Y47lRL18b/Mv2aoi62wOQ46+0sQO6HYnxyCihpZIF7YxKUqBtWUqxRvIAkiHuklq2uZlfcs8lAXLij435L6xOxaIzKgNA2t0pNH1qDGzMe5JqPpofy+4mfFmnG+GJjvn6Miiwop4Q/r/lV9HEenVYYAgGoXHeAAz1DCTuh32x9zsTaEUIk60sn7HoZCnT8Ztu9k7+hKlc8kIoDL0k1kvmbmmOxWc/X900cJkdzYlyiHru2evQKr//SPekE33UGu5K00NDEHPJ+nCKeGUYyybTLEAqaVpVvaoDO1StLoZdl68DCt1IgOu4tHhvGsmCv5IcR6+sR9YpiOLacW+x66RhhRjkDBikPVn4pUBKnTsdsLueaVFS7sL9qFqTA7TUnw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6SPR00MB239.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(55016002)(86362001)(122000001)(8936002)(508600001)(76116006)(8676002)(9686003)(6506007)(38070700005)(38100700002)(66946007)(64756008)(83380400001)(66556008)(66446008)(186003)(53546011)(52536014)(33656002)(66476007)(26005)(5660300002)(110136005)(2906002)(71200400001)(7696005)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?rDUv4396V9rBb40AwU0Db9Od7XZb3mlLsKxzwmaR3i1z9+mdWHf719XKj8n5?= =?us-ascii?Q?XwhRGQOXvPWrMhb7ui4W4FFvfNq6Y0sMoPFRxm/t+l5k9Z5zSw9gJpBhDPLU?= =?us-ascii?Q?9mdCJGK1tmglrp1CsyTL/SgFkIm8fuSMRYp8bQErzWTfjZLp60F6ajd4/d+2?= =?us-ascii?Q?u9rEbmfQr7Nr/XQY8uxwUeJIZ3rWy7gDqdJgLbyRu6quxM006GPSTKTLk+Zf?= =?us-ascii?Q?rHrd+tx9XTBhTmsFqr3mdDb1B9njQYwGihyw9aLRh5lyFJGG/X6bAlAimUq8?= =?us-ascii?Q?MMWZtsqA3qPaKRClgJ9SW5AnB/ekxb4lbTQVOZ0+7KUSW4eO6VUoDVCW16pG?= =?us-ascii?Q?aVXsYlqL5QcY+0d678ja7xF/Rx3Op2NmQJDi8CIsfDV+SVcOOjrkn+ehl72T?= =?us-ascii?Q?Y1YaBhpvRXeN9D145b5UKnkCXOWuCW1D29KuIAR/huIs58rzzTF7zArAowY5?= =?us-ascii?Q?e7flPCjnzlRHHiyomgoBHujZg/p+CEEg8xo7gkc79eWxZOOq7SOQiCMRpuLc?= =?us-ascii?Q?gtIsHzyXcoVM3QRynVlpLiaJhwrEeRAr9ZHUNphdleZ8L0d3CVxNTHj3cqDL?= =?us-ascii?Q?QNTwxUllGCf6CzKT1+kPKyZ/9SGPOpHrhEqOdDHRyXZqCv8mDcdIL6cIenqF?= =?us-ascii?Q?BVO2VvM1pVIPXfExUS3Nz2i2U6Qb+6MecBBUj49g+KDqWlpD8XnI1fwodrhC?= =?us-ascii?Q?eI3Zy26zg84+qlWfJfH4YHoq/8Z9aoJ14YM3GDkE31euzlodkNLMHz12OckM?= =?us-ascii?Q?ba6Yr8rjv+EdGjdsaZkHrNlZGIHqxDQg0eFyH/cC5yMfAIvfVmEfKDnv5qTY?= =?us-ascii?Q?Ga2SZqgPAku4mWBDCTKTsdQ13GhmJYutzqrurz2GtFbzpzohosHbNVWa3PZT?= =?us-ascii?Q?fKFWVzrB0IgJTTc3Q+ki6YSNv9ZjxZlJvoEvE/YPbZyyY8KLlThwTnkHytP6?= =?us-ascii?Q?Qa0SrmohDGt/zOelaggHM0yXu7f2oifzGjr7ADR3jIUEsMcOGuU5vJSCWKAz?= =?us-ascii?Q?NpQ+7+0SkCljSXzuHvafowjeOadHuuYhnTahdbBYzvHxvRvS2UdVY6HeAs9h?= =?us-ascii?Q?dYrhDlRWFSs5ZdNum6ztrq+wNxnu47Jks2+mCLj0qhl16Qeu/KS/7/wTN7yU?= =?us-ascii?Q?lvYDPLpayULf67/dSRV4VlmmefsyzBCs1PF05VKp/eZj1F7Ktrc0kMrC9O+e?= =?us-ascii?Q?bRKu7TYdvmepWliAUBwcZmYc5XeOPuTQ6yRiaG7oFeTO7iptVo0e1lXu54LQ?= =?us-ascii?Q?2EJbfnpWMGrusqAq8J9uxKvXVVO5Rs5R33sMFNYq3ds/6clUhShwy+1kF3vS?= =?us-ascii?Q?i8txDfgo9zGFB3AjQlFImU0h?= 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: BN6SPR00MB239.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 660d04a3-d9bf-4a60-4685-08d9875b1375 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Oct 2021 17:19:08.4853 (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: YBcN9IaxgJ9TSXckJ3SLcIG1Lb3zb8mSGv505sa5GDHydKjqvnKwfn6vxyOnQn6FuW+pGakybfEJwYn3S6CAXNAadrFvZaEWAzevhFBBweQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1101MB2163 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4] eventdev/rx-adapter: fix segfault in queue conf get 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" > -----Original Message----- > From: Kundapura, Ganapati > Sent: Friday, October 1, 2021 11:00 AM > To: jerinjacobk@gmail.com; dev@dpdk.org > Cc: Jayatheerthan, Jay > Subject: [PATCH v4] eventdev/rx-adapter: fix segfault in queue conf get >=20 > rte_event_eth_rx_adapter_queue_conf_get() segfaults if called > without queue added to the Rx adapter. >=20 > Added check to no queues in Rx adapter and error out on being > called with no queue in Rx adapter. >=20 > Added test case to call queue conf get without queues in > Rx adapter. >=20 > Fixes: b36879759b7f3ce ("eventdev/rx_adapter: support Rx queue config get= ") > Signed-off-by: Ganapati Kundapura >=20 > --- > v4: > * Fixed checkpatch warning >=20 > v3: > * Added fixes line >=20 > v2: > * Corrected typo in the comment > --- >=20 > diff --git a/app/test/test_event_eth_rx_adapter.c b/app/test/test_event_e= th_rx_adapter.c > index 13664a3..d0dc552 100644 > --- a/app/test/test_event_eth_rx_adapter.c > +++ b/app/test/test_event_eth_rx_adapter.c > @@ -751,20 +751,48 @@ static int > adapter_queue_conf(void) > { > int err; > - struct rte_event_eth_rx_adapter_queue_conf queue_conf; > + struct rte_event_eth_rx_adapter_queue_conf queue_conf =3D {0}; >=20 > - err =3D rte_event_eth_rx_adapter_queue_conf_get(TEST_INST_ID, TEST_DEV_= ID, > + /* Case 1: queue conf get without any queues in Rx adapter */ > + err =3D rte_event_eth_rx_adapter_queue_conf_get(TEST_INST_ID, > + TEST_ETHDEV_ID, > + 0, &queue_conf); > + TEST_ASSERT(err =3D=3D -EINVAL, "Expected -EINVAL got %d", err); > + > + /* Add queue to Rx adapter */ > + queue_conf.ev.queue_id =3D 0; > + queue_conf.ev.sched_type =3D RTE_SCHED_TYPE_ATOMIC; > + queue_conf.ev.priority =3D RTE_EVENT_DEV_PRIORITY_NORMAL; > + > + err =3D rte_event_eth_rx_adapter_queue_add(TEST_INST_ID, > + TEST_ETHDEV_ID, > + 0, &queue_conf); > + TEST_ASSERT(err =3D=3D 0, "Expected 0 got %d", err); > + > + /* Case 2: queue conf get with queue added to Rx adapter */ > + err =3D rte_event_eth_rx_adapter_queue_conf_get(TEST_INST_ID, > + TEST_ETHDEV_ID, > 0, &queue_conf); > TEST_ASSERT(err =3D=3D 0, "Expected 0 got %d", err); >=20 > - err =3D rte_event_eth_rx_adapter_queue_conf_get(TEST_INST_ID, TEST_DEV_= ID, > + /* Case 3: queue conf get with invalid rx queue id */ > + err =3D rte_event_eth_rx_adapter_queue_conf_get(TEST_INST_ID, > + TEST_ETHDEV_ID, > -1, &queue_conf); rx_queue_id param is uint16_t. Would using non-configured queue id (for e.g= . rx_queue_id =3D 2) suffice instead of using -1 ? > TEST_ASSERT(err =3D=3D -EINVAL, "Expected -EINVAL got %d", err); >=20 > - err =3D rte_event_eth_rx_adapter_queue_conf_get(TEST_INST_ID, TEST_DEV_= ID, > + /* Case 4: queue conf get with NULL queue conf struct */ > + err =3D rte_event_eth_rx_adapter_queue_conf_get(TEST_INST_ID, > + TEST_ETHDEV_ID, > 0, NULL); > TEST_ASSERT(err =3D=3D -EINVAL, "Expected -EINVAL got %d", err); >=20 > + /* Delete queue from the Rx adapter */ > + err =3D rte_event_eth_rx_adapter_queue_del(TEST_INST_ID, > + TEST_ETHDEV_ID, > + 0); > + TEST_ASSERT(err =3D=3D 0, "Expected 0 got %d", err); > + > return TEST_SUCCESS; > } >=20 > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_e= vent_eth_rx_adapter.c > index 10491ca..2a84490 100644 > --- a/lib/eventdev/rte_event_eth_rx_adapter.c > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c > @@ -2844,12 +2844,13 @@ rte_event_eth_rx_adapter_queue_conf_get(uint8_t i= d, > return -EINVAL; >=20 > dev_info =3D &rx_adapter->eth_devices[eth_dev_id]; > - queue_info =3D &dev_info->rx_queue[rx_queue_id]; > - if (!queue_info->queue_enabled) { > + if (dev_info->rx_queue =3D=3D NULL || > + !dev_info->rx_queue[rx_queue_id].queue_enabled) { > RTE_EDEV_LOG_ERR("Rx queue %u not added", rx_queue_id); > return -EINVAL; > } >=20 > + queue_info =3D &dev_info->rx_queue[rx_queue_id]; > qi_ev =3D (struct rte_event *)&queue_info->event; >=20 > memset(queue_conf, 0, sizeof(*queue_conf)); > -- > 2.6.4