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 52B4942B8C; Wed, 24 May 2023 12:06:57 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F0EEB42D9C; Wed, 24 May 2023 12:05:16 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 4866C42D51 for ; Wed, 24 May 2023 12:05:15 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34O4qRiQ025156 for ; Wed, 24 May 2023 03:05:14 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=MmzjvofCfDTdP1mzh3IUkLuC154Th14guOmTM5PDxzs=; b=RHUiAY51K5hbN8aQbV9PF4ahbU4kU2EGOxAvR72sJb5a+OneuwDibcg+hbt8KA2r8MnM eX7i3Ho4kbzQBYU4cMiDJNCrYqIH2h0sBWIGmoodEtzTta2571NTJLRS8S6rLceZ6Q4G GhqdVquYyxzTAX1T/yIdN3dFT4FDNHIqiW38YQOvQmQq2zdcTIVo41ZvYbxuFWKat7sH 8zaQXkpkyYrzpS8njXC4W+JTejc6xdjw0hXoXzX9/DfxLI38P2gJrRodOXLpkOC4B/2F 2M1BGTFSkdTTgs4Bcvbl+24v+6WlnryYs7QGvcXiZdcTf5Izh+yGnavaAjlIMTT1rr8f og== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3qsbxes2uc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 24 May 2023 03:05:14 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Wed, 24 May 2023 03:05:12 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Wed, 24 May 2023 03:05:12 -0700 Received: from hyd1588t430.caveonetworks.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id 650983F7055; Wed, 24 May 2023 03:05:10 -0700 (PDT) From: Nithin Dabilpuram To: Nithin Kumar Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao CC: , , Hanumanth Pothula Subject: [PATCH v2 20/32] common/cnxk: access valid pass value Date: Wed, 24 May 2023 15:33:55 +0530 Message-ID: <20230524100407.3796139-20-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230524100407.3796139-1-ndabilpuram@marvell.com> References: <20230411091144.1087887-1-ndabilpuram@marvell.com> <20230524100407.3796139-1-ndabilpuram@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-ORIG-GUID: JlJZalVJgPUrep_yeYBNHsf-kiFJVU-V X-Proofpoint-GUID: JlJZalVJgPUrep_yeYBNHsf-kiFJVU-V X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-05-24_05,2023-05-23_02,2023-05-22_02 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 From: Hanumanth Pothula There is a possibility of accessing an invalid pass value on rvu device look up failure, as the return value is dropped. Hence pass through the return value of rvu device look, to make sure valid pass value is accessed. Signed-off-by: Hanumanth Pothula --- drivers/common/cnxk/roc_model.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/common/cnxk/roc_model.c b/drivers/common/cnxk/roc_model.c index f4f2a38e70..6dc2afe7f0 100644 --- a/drivers/common/cnxk/roc_model.c +++ b/drivers/common/cnxk/roc_model.c @@ -148,6 +148,7 @@ cn10k_part_pass_get(uint32_t *part, uint32_t *pass) #define SYSFS_PCI_DEVICES "/sys/bus/pci/devices" char dirname[PATH_MAX]; struct dirent *e; + int ret = -1; DIR *dir; dir = opendir(SYSFS_PCI_DEVICES); @@ -165,18 +166,19 @@ cn10k_part_pass_get(uint32_t *part, uint32_t *pass) e->d_name); /* Lookup for rvu device and get part pass information */ - if (!rvu_device_lookup(dirname, part, pass)) + ret = rvu_device_lookup(dirname, part, pass); + if (!ret) break; } closedir(dir); - return 0; + return ret; } static bool populate_model(struct roc_model *model, uint32_t midr) { - uint32_t impl, major, part, minor, pass; + uint32_t impl, major, part, minor, pass = 0; bool found = false; size_t i; -- 2.25.1