Message ID | 20240103123052.711083-1-liu.ming50@gmail.com |
---|---|
State | Accepted, archived |
Commit | 51eab4bb0cae46c9c32d28986eb97badf47594b7 |
Headers | show |
Series | grub: fs/fat: Don't error when mtime is 0 | expand |
Hello, Your patch has a declared charset of 'y' which is not a thing and git am fails with: error: cannot convert from y to UTF-8 fatal: could not parse patch You got the following prompt: The following files are 8bit, but do not declare a Content-Transfer-Encoding. something.patch Which 8bit encoding should I declare [UTF-8]? At that point, you pressed y but you should simply press enter. Please resend. On 03/01/2024 13:30:52+0100, Ming Liu wrote: > From: Ming Liu <liu.ming50@gmail.com> > > A issue was found when I run "runqemu genericx86-64 ovmf", grub failed > to boot, it's a known issue has been fixed in grub upstream, backport > the fix. > > Signed-off-by: Ming Liu <liu.ming50@gmail.com> > --- > ...1-fs-fat-Don-t-error-when-mtime-is-0.patch | 70 +++++++++++++++++++ > meta/recipes-bsp/grub/grub2.inc | 1 + > 2 files changed, 71 insertions(+) > create mode 100644 meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch > > diff --git a/meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch b/meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch > new file mode 100644 > index 0000000000..a5fbd58f46 > --- /dev/null > +++ b/meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch > @@ -0,0 +1,70 @@ > +From e43f3d93b28cce852c110c7a8e40d8311bcd8bb1 Mon Sep 17 00:00:00 2001 > +From: Robbie Harwood <rharwood@redhat.com> > +Date: Fri, 15 Jul 2022 16:13:02 -0400 > +Subject: [PATCH] fs/fat: Don't error when mtime is 0 > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +In the wild, we occasionally see valid ESPs where some file modification > +times are 0. For instance: > + > + ├── [Dec 31 1979] EFI > + │ ├── [Dec 31 1979] BOOT > + │ │ ├── [Dec 31 1979] BOOTX64.EFI > + │ │ └── [Dec 31 1979] fbx64.efi > + │ └── [Jun 27 02:41] fedora > + │ ├── [Dec 31 1979] BOOTX64.CSV > + │ ├── [Dec 31 1979] fonts > + │ ├── [Mar 14 03:35] fw > + │ │ ├── [Mar 14 03:35] fwupd-359c1169-abd6-4a0d-8bce-e4d4713335c1.cap > + │ │ ├── [Mar 14 03:34] fwupd-9d255c4b-2d88-4861-860d-7ee52ade9463.cap > + │ │ └── [Mar 14 03:34] fwupd-b36438d8-9128-49d2-b280-487be02d948b.cap > + │ ├── [Dec 31 1979] fwupdx64.efi > + │ ├── [May 10 10:47] grub.cfg > + │ ├── [Jun 3 12:38] grub.cfg.new.new > + │ ├── [May 10 10:41] grub.cfg.old > + │ ├── [Jun 27 02:41] grubenv > + │ ├── [Dec 31 1979] grubx64.efi > + │ ├── [Dec 31 1979] mmx64.efi > + │ ├── [Dec 31 1979] shim.efi > + │ ├── [Dec 31 1979] shimx64.efi > + │ └── [Dec 31 1979] shimx64-fedora.efi > + └── [Dec 31 1979] FSCK0000.REC > + > + 5 directories, 17 files > + > +This causes grub-probe failure, which in turn causes grub-mkconfig > +failure. They are valid filesystems that appear intact, and the Linux > +FAT stack is able to mount and manipulate them without complaint. > + > +The check for mtime of 0 has been present since > +20def1a3c3952982395cd7c3ea7e78638527962b (fat: support file > +modification times). > + > +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e43f3d93b28cce852c110c7a8e40d8311bcd8bb1] > + > +Signed-off-by: Robbie Harwood <rharwood@redhat.com> > +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> > +Signed-off-by: Ming Liu <liu.ming50@gmail.com> > +--- > + grub-core/fs/fat.c | 3 --- > + 1 file changed, 3 deletions(-) > + > +diff --git a/grub-core/fs/fat.c b/grub-core/fs/fat.c > +index 0951b2e63..c5efed724 100644 > +--- a/grub-core/fs/fat.c > ++++ b/grub-core/fs/fat.c > +@@ -1027,9 +1027,6 @@ grub_fat_dir (grub_device_t device, const char *path, grub_fs_dir_hook_t hook, > + grub_le_to_cpu16 (ctxt.dir.w_date), > + &info.mtime); > + #endif > +- if (info.mtimeset == 0) > +- grub_error (GRUB_ERR_OUT_OF_RANGE, > +- "invalid modification timestamp for %s", path); > + > + if (hook (ctxt.filename, &info, hook_data)) > + break; > +-- > +2.34.1 > + > diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc > index f594e7d3a4..1215b24668 100644 > --- a/meta/recipes-bsp/grub/grub2.inc > +++ b/meta/recipes-bsp/grub/grub2.inc > @@ -44,6 +44,7 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \ > file://0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch \ > file://CVE-2023-4692.patch \ > file://CVE-2023-4693.patch \ > + file://0001-fs-fat-Don-t-error-when-mtime-is-0.patch \ > " > > SRC_URI[sha256sum] = "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f" > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#193286): https://lists.openembedded.org/g/openembedded-core/message/193286 > Mute This Topic: https://lists.openembedded.org/mt/103500707/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi, Alexandre: Sorry, my bad, will resend it. //Ming Liu Alexandre Belloni <alexandre.belloni@bootlin.com> 於 2024年1月4日 週四 上午10:49寫道: > Hello, > > Your patch has a declared charset of 'y' which is not a thing and git am > fails with: > > error: cannot convert from y to UTF-8 > fatal: could not parse patch > > You got the following prompt: > > The following files are 8bit, but do not declare a > Content-Transfer-Encoding. > something.patch > Which 8bit encoding should I declare [UTF-8]? > > At that point, you pressed y but you should simply press enter. Please > resend. > > > On 03/01/2024 13:30:52+0100, Ming Liu wrote: > > From: Ming Liu <liu.ming50@gmail.com> > > > > A issue was found when I run "runqemu genericx86-64 ovmf", grub failed > > to boot, it's a known issue has been fixed in grub upstream, backport > > the fix. > > > > Signed-off-by: Ming Liu <liu.ming50@gmail.com> > > --- > > ...1-fs-fat-Don-t-error-when-mtime-is-0.patch | 70 +++++++++++++++++++ > > meta/recipes-bsp/grub/grub2.inc | 1 + > > 2 files changed, 71 insertions(+) > > create mode 100644 > meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch > > > > diff --git > a/meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch > b/meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch > > new file mode 100644 > > index 0000000000..a5fbd58f46 > > --- /dev/null > > +++ > b/meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch > > @@ -0,0 +1,70 @@ > > +From e43f3d93b28cce852c110c7a8e40d8311bcd8bb1 Mon Sep 17 00:00:00 2001 > > +From: Robbie Harwood <rharwood@redhat.com> > > +Date: Fri, 15 Jul 2022 16:13:02 -0400 > > +Subject: [PATCH] fs/fat: Don't error when mtime is 0 > > +MIME-Version: 1.0 > > +Content-Type: text/plain; charset=UTF-8 > > +Content-Transfer-Encoding: 8bit > > + > > +In the wild, we occasionally see valid ESPs where some file modification > > +times are 0. For instance: > > + > > + ├── [Dec 31 1979] EFI > > + │ ├── [Dec 31 1979] BOOT > > + │ │ ├── [Dec 31 1979] BOOTX64.EFI > > + │ │ └── [Dec 31 1979] fbx64.efi > > + │ └── [Jun 27 02:41] fedora > > + │ ├── [Dec 31 1979] BOOTX64.CSV > > + │ ├── [Dec 31 1979] fonts > > + │ ├── [Mar 14 03:35] fw > > + │ │ ├── [Mar 14 03:35] > fwupd-359c1169-abd6-4a0d-8bce-e4d4713335c1.cap > > + │ │ ├── [Mar 14 03:34] > fwupd-9d255c4b-2d88-4861-860d-7ee52ade9463.cap > > + │ │ └── [Mar 14 03:34] > fwupd-b36438d8-9128-49d2-b280-487be02d948b.cap > > + │ ├── [Dec 31 1979] fwupdx64.efi > > + │ ├── [May 10 10:47] grub.cfg > > + │ ├── [Jun 3 12:38] grub.cfg.new.new > > + │ ├── [May 10 10:41] grub.cfg.old > > + │ ├── [Jun 27 02:41] grubenv > > + │ ├── [Dec 31 1979] grubx64.efi > > + │ ├── [Dec 31 1979] mmx64.efi > > + │ ├── [Dec 31 1979] shim.efi > > + │ ├── [Dec 31 1979] shimx64.efi > > + │ └── [Dec 31 1979] shimx64-fedora.efi > > + └── [Dec 31 1979] FSCK0000.REC > > + > > + 5 directories, 17 files > > + > > +This causes grub-probe failure, which in turn causes grub-mkconfig > > +failure. They are valid filesystems that appear intact, and the Linux > > +FAT stack is able to mount and manipulate them without complaint. > > + > > +The check for mtime of 0 has been present since > > +20def1a3c3952982395cd7c3ea7e78638527962b (fat: support file > > +modification times). > > + > > +Upstream-Status: Backport [ > https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e43f3d93b28cce852c110c7a8e40d8311bcd8bb1 > ] > > + > > +Signed-off-by: Robbie Harwood <rharwood@redhat.com> > > +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> > > +Signed-off-by: Ming Liu <liu.ming50@gmail.com> > > +--- > > + grub-core/fs/fat.c | 3 --- > > + 1 file changed, 3 deletions(-) > > + > > +diff --git a/grub-core/fs/fat.c b/grub-core/fs/fat.c > > +index 0951b2e63..c5efed724 100644 > > +--- a/grub-core/fs/fat.c > > ++++ b/grub-core/fs/fat.c > > +@@ -1027,9 +1027,6 @@ grub_fat_dir (grub_device_t device, const char > *path, grub_fs_dir_hook_t hook, > > + grub_le_to_cpu16 > (ctxt.dir.w_date), > > + &info.mtime); > > + #endif > > +- if (info.mtimeset == 0) > > +- grub_error (GRUB_ERR_OUT_OF_RANGE, > > +- "invalid modification timestamp for %s", path); > > + > > + if (hook (ctxt.filename, &info, hook_data)) > > + break; > > +-- > > +2.34.1 > > + > > diff --git a/meta/recipes-bsp/grub/grub2.inc > b/meta/recipes-bsp/grub/grub2.inc > > index f594e7d3a4..1215b24668 100644 > > --- a/meta/recipes-bsp/grub/grub2.inc > > +++ b/meta/recipes-bsp/grub/grub2.inc > > @@ -44,6 +44,7 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \ > > > file://0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch \ > > file://CVE-2023-4692.patch \ > > file://CVE-2023-4693.patch \ > > + file://0001-fs-fat-Don-t-error-when-mtime-is-0.patch \ > > " > > > > SRC_URI[sha256sum] = > "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f" > > -- > > 2.34.1 > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#193286): > https://lists.openembedded.org/g/openembedded-core/message/193286 > > Mute This Topic: https://lists.openembedded.org/mt/103500707/3617179 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > alexandre.belloni@bootlin.com] > > -=-=-=-=-=-=-=-=-=-=-=- > > > > > -- > Alexandre Belloni, co-owner and COO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com >
diff --git a/meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch b/meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch new file mode 100644 index 0000000000..a5fbd58f46 --- /dev/null +++ b/meta/recipes-bsp/grub/files/0001-fs-fat-Don-t-error-when-mtime-is-0.patch @@ -0,0 +1,70 @@ +From e43f3d93b28cce852c110c7a8e40d8311bcd8bb1 Mon Sep 17 00:00:00 2001 +From: Robbie Harwood <rharwood@redhat.com> +Date: Fri, 15 Jul 2022 16:13:02 -0400 +Subject: [PATCH] fs/fat: Don't error when mtime is 0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In the wild, we occasionally see valid ESPs where some file modification +times are 0. For instance: + + ├── [Dec 31 1979] EFI + │ ├── [Dec 31 1979] BOOT + │ │ ├── [Dec 31 1979] BOOTX64.EFI + │ │ └── [Dec 31 1979] fbx64.efi + │ └── [Jun 27 02:41] fedora + │ ├── [Dec 31 1979] BOOTX64.CSV + │ ├── [Dec 31 1979] fonts + │ ├── [Mar 14 03:35] fw + │ │ ├── [Mar 14 03:35] fwupd-359c1169-abd6-4a0d-8bce-e4d4713335c1.cap + │ │ ├── [Mar 14 03:34] fwupd-9d255c4b-2d88-4861-860d-7ee52ade9463.cap + │ │ └── [Mar 14 03:34] fwupd-b36438d8-9128-49d2-b280-487be02d948b.cap + │ ├── [Dec 31 1979] fwupdx64.efi + │ ├── [May 10 10:47] grub.cfg + │ ├── [Jun 3 12:38] grub.cfg.new.new + │ ├── [May 10 10:41] grub.cfg.old + │ ├── [Jun 27 02:41] grubenv + │ ├── [Dec 31 1979] grubx64.efi + │ ├── [Dec 31 1979] mmx64.efi + │ ├── [Dec 31 1979] shim.efi + │ ├── [Dec 31 1979] shimx64.efi + │ └── [Dec 31 1979] shimx64-fedora.efi + └── [Dec 31 1979] FSCK0000.REC + + 5 directories, 17 files + +This causes grub-probe failure, which in turn causes grub-mkconfig +failure. They are valid filesystems that appear intact, and the Linux +FAT stack is able to mount and manipulate them without complaint. + +The check for mtime of 0 has been present since +20def1a3c3952982395cd7c3ea7e78638527962b (fat: support file +modification times). + +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e43f3d93b28cce852c110c7a8e40d8311bcd8bb1] + +Signed-off-by: Robbie Harwood <rharwood@redhat.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +Signed-off-by: Ming Liu <liu.ming50@gmail.com> +--- + grub-core/fs/fat.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/grub-core/fs/fat.c b/grub-core/fs/fat.c +index 0951b2e63..c5efed724 100644 +--- a/grub-core/fs/fat.c ++++ b/grub-core/fs/fat.c +@@ -1027,9 +1027,6 @@ grub_fat_dir (grub_device_t device, const char *path, grub_fs_dir_hook_t hook, + grub_le_to_cpu16 (ctxt.dir.w_date), + &info.mtime); + #endif +- if (info.mtimeset == 0) +- grub_error (GRUB_ERR_OUT_OF_RANGE, +- "invalid modification timestamp for %s", path); + + if (hook (ctxt.filename, &info, hook_data)) + break; +-- +2.34.1 + diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc index f594e7d3a4..1215b24668 100644 --- a/meta/recipes-bsp/grub/grub2.inc +++ b/meta/recipes-bsp/grub/grub2.inc @@ -44,6 +44,7 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \ file://0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch \ file://CVE-2023-4692.patch \ file://CVE-2023-4693.patch \ + file://0001-fs-fat-Don-t-error-when-mtime-is-0.patch \ " SRC_URI[sha256sum] = "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f"