From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 07 Jun 2023 14:16:44 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1q6s5m-00EJxM-43 for lore@lore.pengutronix.de; Wed, 07 Jun 2023 14:16:44 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1q6s5a-0006D4-VY; Wed, 07 Jun 2023 14:16:34 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q6s5X-00065j-MM; Wed, 07 Jun 2023 14:16:31 +0200 Received: from [2a0a:edc0:0:1101:1d::54] (helo=dude05.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q6s5X-005jmR-2e; Wed, 07 Jun 2023 14:16:31 +0200 Received: from afa by dude05.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q6s5V-00DNCQ-Jv; Wed, 07 Jun 2023 14:16:29 +0200 From: Ahmad Fatoum To: oss-tools@pengutronix.de Date: Wed, 7 Jun 2023 14:16:23 +0200 Message-Id: <20230607121628.3180139-4-a.fatoum@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230607121628.3180139-1-a.fatoum@pengutronix.de> References: <20230607121628.3180139-1-a.fatoum@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [OSS-Tools] [PATCH v2 3/8] libdt: drop broken if-branch X-BeenThere: oss-tools@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: Pengutronix Public Open-Source-Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Sender: "OSS-Tools" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: oss-tools-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false device_find_block_device returns 0 on success, so the way the else if clause is now, only if there is a block device, the code falls through. If there is none, a 0 is returned, but devpath is not populated breaking the contract of the function. Just drop the branch for now and add it back later in a way that works. Fixes: 929ed64cb42f ("of_get_devicepath: make partition finding more robust") Reviewed-by: Uwe Kleine-König Signed-off-by: Ahmad Fatoum --- src/libdt.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/libdt.c b/src/libdt.c index 3f4595707554..a4f0e256ef6a 100644 --- a/src/libdt.c +++ b/src/libdt.c @@ -2519,13 +2519,10 @@ int of_get_devicepath(struct device_node *partition_node, char **devpath, off_t */ dev = of_find_device_by_node_path(partition_node->full_name); if (dev) { - if (udev_device_is_eeprom(dev)) { + if (udev_device_is_eeprom(dev)) return udev_parse_eeprom(dev, devpath); - } else if (!udev_parse_mtd(dev, devpath, size)) { + if (!udev_parse_mtd(dev, devpath, size)) return 0; - } else if (device_find_block_device(dev, devpath)) { - return of_parse_partition(partition_node, offset, size); - } /* * If we find a udev_device but couldn't classify it above, -- 2.39.2