[OpenWrt-Devel] [PATCH] mtd-utils: revert faulty upstream patch for now

Christian Lamparter chunkeey at gmail.com
Thu Jun 7 17:30:14 EDT 2018


Some of the ubi-tools in the upstream mtd-utils have been
broken by a bad patch upstream. It causes major breakage
during sysupgrade when the kernel, rootfs, ... volumes
are deleted in the wrong order.

This patch therefore reverts the faulty upstream commit which
fixes the bug.

linux-mtd mailing-list thread:
<http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html>

Cc: John Crispin <john at phrozen.org>
Reported-by: L. Wayne Leach <LLeachii at aol.com>
Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
Affects OpenWrt 18.06 as well. so please backport this patch.

Forum thread:
https://forum.lede-project.org/t/meraki-mx60-installing-current-snapshot-router-booted-into-receovery/
---
 ...rrect-error-number-in-ubi_get_vol_in.patch | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 package/utils/mtd-utils/patches/200-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch

diff --git a/package/utils/mtd-utils/patches/200-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch b/package/utils/mtd-utils/patches/200-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
new file mode 100644
index 0000000000..79695c4954
--- /dev/null
+++ b/package/utils/mtd-utils/patches/200-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
@@ -0,0 +1,30 @@
+From 7d27becbb355853ba778e8b83fe171eecb8195d2 Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey at gmail.com>
+Date: Thu, 7 Jun 2018 22:36:19 +0200
+Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1"
+
+This reverts commit dede98ffb706676309488d7cc660f569548d5930.
+---
+ lib/libubi.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/lib/libubi.c b/lib/libubi.c
+index b50e68a..978b433 100644
+--- a/lib/libubi.c
++++ b/lib/libubi.c
+@@ -1240,11 +1240,8 @@ int ubi_get_vol_info1(libubi_t desc, int dev_num, int vol_id,
+ 	info->dev_num = dev_num;
+ 	info->vol_id = vol_id;
+ 
+-	if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) {
+-		if (errno == ENOENT)
+-			errno = ENODEV;
++	if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor))
+ 		return -1;
+-	}
+ 
+ 	ret = vol_read_data(lib->vol_type, dev_num, vol_id, buf, 50);
+ 	if (ret < 0)
+-- 
+2.17.1
+
-- 
2.17.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel



More information about the openwrt-devel mailing list