summaryrefslogtreecommitdiffstats
path: root/meta/recipes-bsp
diff options
context:
space:
mode:
authorKai Kang <kai.kang@windriver.com>2023-03-06 14:00:11 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-03-07 10:45:25 +0000
commit6066600e809fdcce0b937de9c1d7b603848007a5 (patch)
tree4f7729de20c3dfac2be2d3d57167a4d542a44fd4 /meta/recipes-bsp
parent208ee35b8c7a26a65e2292e133831693a65f9f51 (diff)
downloadpoky-6066600e809fdcce0b937de9c1d7b603848007a5.tar.gz
grub2: support metadata_csum_seed feature
It enable the metadata_csum_seed feature by default in e2fsprogs 1.47.0 and causes grub doesn't work. Backport patch to make grub support this feature. (From OE-Core rev: ae3b4588d69e534ac8aff136ed44f3975f5a2d4f) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-bsp')
-rw-r--r--meta/recipes-bsp/grub/files/0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch66
-rw-r--r--meta/recipes-bsp/grub/grub2.inc1
2 files changed, 67 insertions, 0 deletions
diff --git a/meta/recipes-bsp/grub/files/0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch b/meta/recipes-bsp/grub/files/0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch
new file mode 100644
index 0000000000..a44d139375
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch
@@ -0,0 +1,66 @@
1It enable the metadata_csum_seed feature by default in e2fsprogs 1.47.0 and
2causes grub doesn't work. Backport patch to make grub support this feature.
3
4Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=7fd5fef]
5
6Signed-off-by: Kai Kang <kai.kang@windriver.com>
7
8From 7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763 Mon Sep 17 00:00:00 2001
9From: Javier Martinez Canillas <javierm@redhat.com>
10Date: Fri, 11 Jun 2021 21:36:16 +0200
11Subject: [PATCH] fs/ext2: Ignore checksum seed incompat feature
12
13This incompat feature is used to denote that the filesystem stored its
14metadata checksum seed in the superblock. This is used to allow tune2fs
15changing the UUID on a mounted metdata_csum filesystem without having
16to rewrite all the disk metadata. However, the GRUB doesn't use the
17metadata checksum at all. So, it can just ignore this feature if it
18is enabled. This is consistent with the GRUB filesystem code in general
19which just does a best effort to access the filesystem's data.
20
21The checksum seed incompat feature has to be removed from the ignore
22list if the support for metadata checksum verification is added to the
23GRUB ext2 driver later.
24
25Suggested-by: Eric Sandeen <esandeen@redhat.com>
26Suggested-by: Lukas Czerner <lczerner@redhat.com>
27Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
28Reviewed-by: Lukas Czerner <lczerner@redhat.com>
29Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
30---
31 grub-core/fs/ext2.c | 10 ++++++++--
32 1 file changed, 8 insertions(+), 2 deletions(-)
33
34diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c
35index e7dd78e66..4953a1591 100644
36--- a/grub-core/fs/ext2.c
37+++ b/grub-core/fs/ext2.c
38@@ -103,6 +103,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
39 #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080
40 #define EXT4_FEATURE_INCOMPAT_MMP 0x0100
41 #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200
42+#define EXT4_FEATURE_INCOMPAT_CSUM_SEED 0x2000
43 #define EXT4_FEATURE_INCOMPAT_ENCRYPT 0x10000
44
45 /* The set of back-incompatible features this driver DOES support. Add (OR)
46@@ -123,10 +124,15 @@ GRUB_MOD_LICENSE ("GPLv3+");
47 * mmp: Not really back-incompatible - was added as such to
48 * avoid multiple read-write mounts. Safe to ignore for this
49 * RO driver.
50+ * checksum seed: Not really back-incompatible - was added to allow tools
51+ * such as tune2fs to change the UUID on a mounted metadata
52+ * checksummed filesystem. Safe to ignore for now since the
53+ * driver doesn't support checksum verification. However, it
54+ * has to be removed from this list if the support is added later.
55 */
56 #define EXT2_DRIVER_IGNORED_INCOMPAT ( EXT3_FEATURE_INCOMPAT_RECOVER \
57- | EXT4_FEATURE_INCOMPAT_MMP)
58-
59+ | EXT4_FEATURE_INCOMPAT_MMP \
60+ | EXT4_FEATURE_INCOMPAT_CSUM_SEED)
61
62 #define EXT3_JOURNAL_MAGIC_NUMBER 0xc03b3998U
63
64--
652.34.1
66
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc
index b92cbc2654..58b215d79c 100644
--- a/meta/recipes-bsp/grub/grub2.inc
+++ b/meta/recipes-bsp/grub/grub2.inc
@@ -41,6 +41,7 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \
41 file://CVE-2022-2601.patch \ 41 file://CVE-2022-2601.patch \
42 file://CVE-2022-3775.patch \ 42 file://CVE-2022-3775.patch \
43 file://0001-risc-v-Handle-R_RISCV_CALL_PLT-reloc.patch \ 43 file://0001-risc-v-Handle-R_RISCV_CALL_PLT-reloc.patch \
44 file://0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch \
44" 45"
45 46
46SRC_URI[sha256sum] = "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f" 47SRC_URI[sha256sum] = "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f"