From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harman Kalra Subject: [PATCH 2/2] distributor: imposing additional check on no of workers Date: Thu, 29 Nov 2018 15:09:16 +0000 Message-ID: <1543504135-137867-2-git-send-email-harman.kalra@caviumnetworks.com> References: <1543504135-137867-1-git-send-email-harman.kalra@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" , "Jacob, Jerin" , "Kalra, Harman" To: "bruce.richardson@intel.com" , "david.hunt@intel.com" Return-path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-eopbgr770050.outbound.protection.outlook.com [40.107.77.50]) by dpdk.org (Postfix) with ESMTP id 9018B1B4FB for ; Thu, 29 Nov 2018 16:09:18 +0100 (CET) In-Reply-To: <1543504135-137867-1-git-send-email-harman.kalra@caviumnetworks.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Harman Kalra No of workers should never exceed RTE_MAX_LCORE. RTE_DIST_ALG_SINGLE also require no of workers check. Signed-off-by: Harman Kalra --- lib/librte_distributor/rte_distributor.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git lib/librte_distributor/rte_distributor.c lib/librte_distributor/= rte_distributor.c index d505983..043b8f3 100644 --- lib/librte_distributor/rte_distributor.c +++ lib/librte_distributor/rte_distributor.c @@ -595,6 +595,12 @@ struct rte_distributor * RTE_BUILD_BUG_ON((sizeof(*d) & RTE_CACHE_LINE_MASK) !=3D 0); RTE_BUILD_BUG_ON((RTE_DISTRIB_MAX_WORKERS & 7) !=3D 0); =20 + if (name =3D=3D NULL || num_workers >=3D + (unsigned int)RTE_MIN(RTE_DISTRIB_MAX_WORKERS, RTE_MAX_LCORE)) { + rte_errno =3D EINVAL; + return NULL; + } + if (alg_type =3D=3D RTE_DIST_ALG_SINGLE) { d =3D malloc(sizeof(struct rte_distributor)); if (d =3D=3D NULL) { @@ -612,11 +618,6 @@ struct rte_distributor * return d; } =20 - if (name =3D=3D NULL || num_workers >=3D RTE_DISTRIB_MAX_WORKERS) { - rte_errno =3D EINVAL; - return NULL; - } - snprintf(mz_name, sizeof(mz_name), RTE_DISTRIB_PREFIX"%s", name); mz =3D rte_memzone_reserve(mz_name, sizeof(*d), socket_id, NO_FLAGS); if (mz =3D=3D NULL) { --=20 1.8.3.1