diff options
author | Mike Gilbert <floppym@gentoo.org> | 2023-02-13 11:30:22 -0500 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2023-02-13 11:47:30 -0500 |
commit | 0df5fa7bfab97bfa594d214a78960f44a491bb22 (patch) | |
tree | 8b78c0ad128c4ca1daf8060f7f8353d951b6f64b /sys-boot | |
parent | app-text/mdbook: drop 0.4.26, and vulnerable 0.4.25 (diff) | |
download | gentoo-0df5fa7bfab97bfa594d214a78960f44a491bb22.tar.gz gentoo-0df5fa7bfab97bfa594d214a78960f44a491bb22.tar.bz2 gentoo-0df5fa7bfab97bfa594d214a78960f44a491bb22.zip |
sys-boot/grub: backport fix for ext4 checksum seed feature
Closes: https://bugs.gentoo.org/894200
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'sys-boot')
-rw-r--r-- | sys-boot/grub/files/grub-2.06-fs-ext2-ignore-checksum-seed.patch | 62 | ||||
-rw-r--r-- | sys-boot/grub/grub-2.06-r6.ebuild (renamed from sys-boot/grub/grub-2.06-r5.ebuild) | 1 |
2 files changed, 63 insertions, 0 deletions
diff --git a/sys-boot/grub/files/grub-2.06-fs-ext2-ignore-checksum-seed.patch b/sys-boot/grub/files/grub-2.06-fs-ext2-ignore-checksum-seed.patch new file mode 100644 index 000000000000..9024b479a878 --- /dev/null +++ b/sys-boot/grub/files/grub-2.06-fs-ext2-ignore-checksum-seed.patch @@ -0,0 +1,62 @@ +https://bugs.gentoo.org/894200 +https://git.savannah.gnu.org/cgit/grub.git/patch/?id=7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763 + +From 7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas <javierm@redhat.com> +Date: Fri, 11 Jun 2021 21:36:16 +0200 +Subject: fs/ext2: Ignore checksum seed incompat feature + +This incompat feature is used to denote that the filesystem stored its +metadata checksum seed in the superblock. This is used to allow tune2fs +changing the UUID on a mounted metdata_csum filesystem without having +to rewrite all the disk metadata. However, the GRUB doesn't use the +metadata checksum at all. So, it can just ignore this feature if it +is enabled. This is consistent with the GRUB filesystem code in general +which just does a best effort to access the filesystem's data. + +The checksum seed incompat feature has to be removed from the ignore +list if the support for metadata checksum verification is added to the +GRUB ext2 driver later. + +Suggested-by: Eric Sandeen <esandeen@redhat.com> +Suggested-by: Lukas Czerner <lczerner@redhat.com> +Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> +Reviewed-by: Lukas Czerner <lczerner@redhat.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +--- + grub-core/fs/ext2.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c +index e7dd78e..4953a15 100644 +--- a/grub-core/fs/ext2.c ++++ b/grub-core/fs/ext2.c +@@ -103,6 +103,7 @@ GRUB_MOD_LICENSE ("GPLv3+"); + #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 + #define EXT4_FEATURE_INCOMPAT_MMP 0x0100 + #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 ++#define EXT4_FEATURE_INCOMPAT_CSUM_SEED 0x2000 + #define EXT4_FEATURE_INCOMPAT_ENCRYPT 0x10000 + + /* The set of back-incompatible features this driver DOES support. Add (OR) +@@ -123,10 +124,15 @@ GRUB_MOD_LICENSE ("GPLv3+"); + * mmp: Not really back-incompatible - was added as such to + * avoid multiple read-write mounts. Safe to ignore for this + * RO driver. ++ * checksum seed: Not really back-incompatible - was added to allow tools ++ * such as tune2fs to change the UUID on a mounted metadata ++ * checksummed filesystem. Safe to ignore for now since the ++ * driver doesn't support checksum verification. However, it ++ * has to be removed from this list if the support is added later. + */ + #define EXT2_DRIVER_IGNORED_INCOMPAT ( EXT3_FEATURE_INCOMPAT_RECOVER \ +- | EXT4_FEATURE_INCOMPAT_MMP) +- ++ | EXT4_FEATURE_INCOMPAT_MMP \ ++ | EXT4_FEATURE_INCOMPAT_CSUM_SEED) + + #define EXT3_JOURNAL_MAGIC_NUMBER 0xc03b3998U + +-- +cgit v1.1 + diff --git a/sys-boot/grub/grub-2.06-r5.ebuild b/sys-boot/grub/grub-2.06-r6.ebuild index 06b35f228a26..ce30e75b634b 100644 --- a/sys-boot/grub/grub-2.06-r5.ebuild +++ b/sys-boot/grub/grub-2.06-r6.ebuild @@ -61,6 +61,7 @@ PATCHES=( "${FILESDIR}"/grub-2.06-test-words.patch "${FILESDIR}"/grub-2.06-grub-mkconfig-restore-umask.patch "${FILESDIR}"/grub-2.06-gentpl.py-Remove-.interp-section-from-.img-files.patch + "${FILESDIR}"/grub-2.06-fs-ext2-ignore-checksum-seed.patch ) DEJAVU=dejavu-sans-ttf-2.37 |