summaryrefslogtreecommitdiffstats
path: root/import-layers
diff options
context:
space:
mode:
authorAdriana Kobylak <anoo@linux.ibm.com>2018-07-30 12:56:29 -0500
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-08-23 01:18:04 +0000
commitccb24387c66517ebf769b4ec938a1270f83655d6 (patch)
tree90376d3e8268c945476debadefb4dcef6f44d014 /import-layers
parent07e6e5f0fe461d543ca9e997037c8f14eb89632b (diff)
downloadtalos-openbmc-ccb24387c66517ebf769b4ec938a1270f83655d6.tar.gz
talos-openbmc-ccb24387c66517ebf769b4ec938a1270f83655d6.zip
mtd-utils: Revert "Return correct error number in ubi_get_vol_in"
Add mtd-utils upstream patch that fixes a regression on the mtd-utils tools such as ubinfo. Details of the issue which affects mtd-utils 2.0.1 and 2.0.2: http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html Upstream-Status: Accepted [http://git.infradead.org/mtd-utils.git/commit/0f833ac73ad631248826386e2918d8571ecf0347] (From OE-Core rev: 41356d2c86d85b199962c3024f25361a709d9180) Signed-off-by: Adriana Kobylak <anoo@linux.ibm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (From Yocto rev: ffb7fd233ce23af06b54bee5b934f7d01271da97) Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Change-Id: Ic6e244369f5e86d3ee2411bf1f7566a6637622e3
Diffstat (limited to 'import-layers')
-rw-r--r--import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch92
-rw-r--r--import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils_git.bb1
2 files changed, 93 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch b/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
new file mode 100644
index 000000000..4ece56b9c
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
@@ -0,0 +1,92 @@
+From 0f833ac73ad631248826386e2918d8571ecf0347 Mon Sep 17 00:00:00 2001
+From: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
+Date: Sat, 9 Jun 2018 16:45:22 +0200
+Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1"
+
+This reverts commit dede98ffb706676309488d7cc660f569548d5930.
+
+The original commit tried to fix a descrepancy between the implementation
+and the documentation by making the implementation comply.
+
+When making the change, it was overlooked, that ubinfo and ubirename were
+written against the implementation instead of the behaviour specified by
+the documentation. So were further internal functions like
+ubi_get_vol_info1_nm which further breaks ubirmvol.
+
+A report with an outline of a resulting problem can be read on
+the mailing list:
+
+http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
+
+From the report:
+
+steps to reproduce: have mtd-utils 2.0.1 or 2.0.2
+
+0. make a bunch of ubi volumes in sequential order
+
+ubimkvol /dev/ubi0 -s 64KiB -N test1
+ubimkvol /dev/ubi0 -s 64KiB -N test2
+ubimkvol /dev/ubi0 -s 64KiB -N test3
+ubimkvol /dev/ubi0 -s 64KiB -N test4
+..
+
+1. delete the test1 volume, making a hole in the volume table
+
+ubirmvol /dev/ubi0 -N test1
+
+2. try an affected tool (i.e. "ubirmvol /dev/ubi0 -N test4" )
+
+ |root at mr24:/# ubirmvol /dev/ubi0 -N test4
+ |ubirmvol: error!: cannot find UBI volume "test4"
+ | error 19 (No such device)
+
+or "ubinfo -a"
+
+ | root at mr24:/# ubinfo -a
+ | UBI version: 1
+ | Count of UBI devices: 1
+ | UBI control device major/minor: 10:59
+ | Present UBI devices: ubi0
+ |
+ | ubi0
+ | Volumes count: 11
+ | Logical eraseblock size: 15872 bytes, 15.5 KiB
+ | Total amount of logical eraseblocks: 1952 (30982144 bytes, 29.5 MiB)
+ | Amount of available logical eraseblocks: 75 (1190400 bytes, 1.1 MiB)
+ | Maximum count of volumes 92
+ | Count of bad physical eraseblocks: 0
+ | Count of reserved physical eraseblocks: 40
+ | Current maximum erase counter value: 984
+ | Minimum input/output unit size: 512 bytes
+ | Character device major/minor: 251:0
+ | ubinfo: error!: libubi failed to probe volume 5 on ubi0
+ | error 19 (No such device)
+ | Present volumes: 0, 1, 2, 3, 4root at mr24:/#
+
+Reported-by: Christian Lamparter <chunkeey@gmail.com>
+Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
+Upstream-Status: Accepted [http://git.infradead.org/mtd-utils.git/commit/0f833ac73ad631248826386e2918d8571ecf0347]
+---
+ 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.14.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
index a0e1cf76f..69f2eba1f 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
+++ b/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
@@ -15,6 +15,7 @@ PV = "2.0.1+${SRCPV}"
SRCREV = "9c6173559f95e939e66efb2ec3193d6f3618cf69"
SRC_URI = "git://git.infradead.org/mtd-utils.git \
file://add-exclusion-to-mkfs-jffs2-git-2.patch \
+ file://0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch \
"
S = "${WORKDIR}/git/"
OpenPOWER on IntegriCloud