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 F04FDA0C47; Tue, 5 Oct 2021 10:19:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BE0E2412C6; Tue, 5 Oct 2021 10:19:44 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 321A840685 for ; Tue, 5 Oct 2021 10:19:42 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10127"; a="205806834" X-IronPort-AV: E=Sophos;i="5.85,348,1624345200"; d="scan'208";a="205806834" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2021 01:19:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,348,1624345200"; d="scan'208";a="457984694" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga002.jf.intel.com with ESMTP; 05 Oct 2021 01:19:39 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 5 Oct 2021 01:19:38 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 5 Oct 2021 01:19:38 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 5 Oct 2021 01:19:38 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.49) 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; Tue, 5 Oct 2021 01:19:38 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CnYZ1wc5py1XKXdji73UyOoMuk/9AYa+gGtyxmPhdrGEjeA2VN5hl94lvs/FI67JVCYVNcR/pIxe2QkBf+9r2X+zXv6yCxjhqBKJ281cSRYCkgOFj5Omlho4pJLzZq09YdpxqK2h0QrFYgQM/teO3pnuP7G8X64fMR5xtKqoF4SYbbRs26r+OdLwVxQ7mpXDKnFZE+h0wEdMDCoxA+aD5x7p5N4+hu4xwqHrwdQHL/A8AySgEcEthlMgv6qYM18iEumlCon/1Wn3AdicyNXOg1Kxa2to9PZyzy5bhhUXHiay+S8oO295SJLKfENuN7SihK51r88BdqKC5D7DDs9Ftw== 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=p3zm+C4vW6Gmmy6WjkkpiBRWg2lzQyJP9MDoDK2suGI=; b=ZblwDKHCcgJX6abXgSiac9dh15nNQ7P1MO5Sg6hkYT4Bb3UPqYAQkVWrASQFJ5L3kAQeL2+jvIAAnhv8eppT7vfJ6ovDT+FBR4jCxYxTWwHfvzhfR64va/ADr+PlT94byY+V3ddXalGpwQlXNnE9rCtWF+GCcF1oBt12QC2+oLYVXuxTc6kZfhtgWqy2BhCNoNJik6asXpUYqS4wfpgy8+msmOpwiV9shVOusmUvux8Dgie/xC4wj7ukk/qTK0ZEDq2K4D+wI5pZzyFcqbekkiddHnLsvKFYvIN8qBMFP/F5eM0lEWoRiAFh6mfAqTHxT+DH7J1ZXJAMFyWkwTJNJQ== 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=p3zm+C4vW6Gmmy6WjkkpiBRWg2lzQyJP9MDoDK2suGI=; b=P1QweE0ayp8K/nitA3M7K6EL3789EWsbknoKBj1c08ThQvg/6YyDN3fQYPCju/T/mY2dYsvggF7FdBA2nsdwjkvXEX3Xm1x1vT5YJ8U4b42KRXOriKFenTFU+vNh959gImnxGROobpFtP+Yi0N5lY8wJ/ZogzHNr+sfSuTUHCV0= Received: from BN6SPR00MB239.namprd11.prod.outlook.com (2603:10b6:405:11::23) by BN0PR11MB5727.namprd11.prod.outlook.com (2603:10b6:408:162::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.17; Tue, 5 Oct 2021 08:19:37 +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; Tue, 5 Oct 2021 08:19:36 +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/EUuovorHklawfKvDGe8wgAATaYCAAOjXQA== Date: Tue, 5 Oct 2021 08:19:36 +0000 Message-ID: References: <20211001051954.1055473-1-ganapati.kundapura@intel.com> <20211001053000.1063729-1-ganapati.kundapura@intel.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.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: ececf61e-46fd-4b85-76ae-08d987d8deb9 x-ms-traffictypediagnostic: BN0PR11MB5727: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5797; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SBWkUk0Lh7B2QQ6os0N705bBuBYsJss6e5EUYrR/UjSFZZ1dpChS0rz80/du/58ow6TnSuWCF6bcvdta+ivpMZZgY0bxJt/Ww+Wc4Lo2zO7+RR/bdNMh35h6wxyTKXx0yn5QGJ3i6hA4sQk8WNoSwDA96QLXJIGIL4DLngLQtc/+lGjVH9D2Rh5VHB8Zk77+EOo11OFCiU86UNhxGGSlf5HnL9dpLmFqdYyNt2gSx8xYyGLNUJFuNyokkTfFh6c+HXCTe1hrfx3ptzEVzqeFvWhP2POhaQC/lEalfnQ3pwoVMSvmkJuiyFBUgGhMULZh86J45UtEfVVKskg0+/VInZAtclaRj/Ym035AFVZW9u+t5J0zYy3DTs7LB+n2ACUj+pdhQXJ7oAsBgQ/7x/M6YWaJ4tM9RxY5B5R6ae6uTw5tnuPf65fttKQuhE5MDAlm9i85a8z9xwwuQ23du3ONTfCTcX/Yt4wK+LLRopgJxeP3exeMHTTjpishkaWvH8d2Izz1+UcZ6t8eIgViDPCiltICVbtq+BxWYWcOL1WVKJKn1/HcmDv1s3+IHAJpVsMRR+AWO6u5n688yUTKRZSgnhrcs9AlXGe+UW2WBHI3maqAJI4DhhUolRD5kMCIxkFAFHNpCDU5CWDLOLDyFd0awjJTvOSQe9sQmx6eYIOSLnqDRjq9nD8JtJx7G5yUrCgCxXc6m2U3zNHK2mhX+DKVJQ== 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)(8936002)(9686003)(76116006)(83380400001)(8676002)(33656002)(52536014)(71200400001)(5660300002)(6506007)(53546011)(7696005)(316002)(55016002)(110136005)(86362001)(66556008)(66476007)(64756008)(26005)(38100700002)(2906002)(508600001)(186003)(66946007)(66446008)(38070700005)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?hAtuCxPziq87gWZ8A59gc0E5FKUlCjWcxs+AccKBTQ/gF0gplhSalqcrKODm?= =?us-ascii?Q?Uvb32XQrueYPSTbfZftjXbQ4vhKyspPTi7Bi86TqIYlHWRJd5c2qMWuQALp0?= =?us-ascii?Q?S/0aq64wHhwgJv8vL72mCK3rFVxnz1f1gDAmayN8mynUs+OfzQ9KVljOffoU?= =?us-ascii?Q?wjxA4m2gBuFOqBhbt9EEX3ZIk1RBvSIsD/tJB1BS1A94b5n2ocy0pWIdiPSK?= =?us-ascii?Q?SHSr2tdvsotQpaUnTSTXyv7M9vSGw/iEkf4SsprzkQiPTu4HtJ50tBQmd3Az?= =?us-ascii?Q?JmzVhuelvQjYE4qGZCiGOlwfcWFwvmKseAGDXnrcF8SWPzEe4FuZ3PVU5Rpn?= =?us-ascii?Q?Aqy4YcgZFXyyZ2pkU8s5sfow2v5MSl+PQ85ffVNlOapeQphWlCAIucLzjFYV?= =?us-ascii?Q?CABc/6vE4F7tOc/zM86kYJYjYY5CdMARYKWXbsBj0gt7mtlHGO7VuORkapMb?= =?us-ascii?Q?wKV0o4DiZxbdytPpQv4s1gbtuN4s6P6E9dLjI7pmMAsI6A7fbXImcKHQi2fj?= =?us-ascii?Q?czYtwwSNIkwmu3g9VvPaKrpq5cwq3yjMQgKaphDrhogZIr3sztXMVyiZVnWs?= =?us-ascii?Q?vHTyr7CI/6YKv6QbSw4XHl9kVDbyfj7ta+mjgNP755QnPf5c0heGcRAqg+Fx?= =?us-ascii?Q?PJwuT472kIPjHf8DWY9l58jeFxVPkL8dWQz1d5FfIyhJ1VVuRRSg5czsUs4C?= =?us-ascii?Q?wKYwjtGQ9BFal4/skWLSuUUDRmZnHrUp+SJ2/fqsxFfkCJWShAht23BR+C0w?= =?us-ascii?Q?KFkacSaeeNK/VnE+XTSMvaQX1VaSecI4nbHZA3XehmPc9qKyx95HoLqNLDGH?= =?us-ascii?Q?c62UuEgrbeWBesJ9+WkDYfsjA7qGIb37lHFA54/dY/Nv+itJlbu2jvrFrkCb?= =?us-ascii?Q?spZyVNuxFfEZ5u/OBZ9+r66ritpCw7k7jm3eGw+Bq6UT6l1m8TyU60MFBXlK?= =?us-ascii?Q?HZRp33ftUvV7pRC8VBpV5lJ+kwUTLRb3VCJJr1WUEi5kVNo9gpGMqqX0VFTD?= =?us-ascii?Q?G6Cq+egzlBd+0weD5s8wnux4UcKE+F0ynoCUQsU5rfmfGs4d06HzkzJRJIMD?= =?us-ascii?Q?18POfErDv8vDkSwpRqvl0PyZZzpjCUmLokoEDx+dwbWriTBqBkM6pTEYjX+r?= =?us-ascii?Q?mysxVx/JEUZIBhZisX/dZGUOWiOxX8Y+kX1lOWBDUta0pA0JDtZVNq6jps+6?= =?us-ascii?Q?nsEtq/p4bA+q9gbbmxH3KVAPngFE7E1B2XK43YSwoSu/0UbcGhNovLKl7lap?= =?us-ascii?Q?7RKH4gRqCdVYvaRK6LPfcJkC385hJWPTA/IpbepumXC9mNjvP6Z4Isf+X/LS?= =?us-ascii?Q?v0zoPQbBtNS+U3ps9+K5uWqL?= 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: ececf61e-46fd-4b85-76ae-08d987d8deb9 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2021 08:19:36.7938 (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: /loa4Pt26qqwJg9tuNCq9zZzMqy0LOnL/A6ApDxNttwLYIe0U9tQIer7iSLaTf+vvrS0rL1DjYMA0wAPbQKUuB4VjfOQKSWP1l3MwHckvXc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR11MB5727 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: Monday, October 4, 2021 11:55 PM > To: Jayatheerthan, Jay ; jerinjacobk@gmail.c= om; dev@dpdk.org > Subject: RE: [PATCH v4] eventdev/rx-adapter: fix segfault in queue conf g= et >=20 > Hi Jay, >=20 > > -----Original Message----- > > From: Jayatheerthan, Jay > > Sent: 04 October 2021 22:49 > > To: Kundapura, Ganapati ; > > jerinjacobk@gmail.com; dev@dpdk.org > > Subject: RE: [PATCH v4] eventdev/rx-adapter: fix segfault in queue conf= get > > > > > -----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 > > > > > > rte_event_eth_rx_adapter_queue_conf_get() segfaults if called without > > > queue added to the Rx adapter. > > > > > > Added check to no queues in Rx adapter and error out on being called > > > with no queue in Rx adapter. > > > > > > Added test case to call queue conf get without queues in Rx adapter. > > > > > > Fixes: b36879759b7f3ce ("eventdev/rx_adapter: support Rx queue config > > > get") > > > Signed-off-by: Ganapati Kundapura > > > > > > --- > > > v4: > > > * Fixed checkpatch warning > > > > > > v3: > > > * Added fixes line > > > > > > v2: > > > * Corrected typo in the comment > > > --- > > > > > > diff --git a/app/test/test_event_eth_rx_adapter.c > > > b/app/test/test_event_eth_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}; > > > > > > - 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); > > > > > > - 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 ? > > > When -1 is promoted/demoted to uint16_t, it'll be converted to large valu= e i.e UINT_MAX and guaranteed > to be invalid rx queue id and it's future proof. > In case, some queues are added in that test case in future, this invalid = rx_queue_id also needs to be updated. >=20 > Yes, for this case rx_queue_id=3D2 can be used, but it's not future proof= . Acked-by: Jay Jayatheerthan >=20 > > > TEST_ASSERT(err =3D=3D -EINVAL, "Expected -EINVAL got %d", err); > > > > > > - 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); > > > > > > + /* 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; > > > } > > > > > > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c > > > b/lib/eventdev/rte_event_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 id, > > > return -EINVAL; > > > > > > 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; > > > } > > > > > > + queue_info =3D &dev_info->rx_queue[rx_queue_id]; > > > qi_ev =3D (struct rte_event *)&queue_info->event; > > > > > > memset(queue_conf, 0, sizeof(*queue_conf)); > > > -- > > > 2.6.4