* [OE-core] [PATCH] grub: fs/fat: Don't error when mtime is 0
@ 2024-01-03 12:30 liu.ming50
2024-01-04 9:49 ` Alexandre Belloni
0 siblings, 1 reply; 3+ messages in thread
From: liu.ming50 @ 2024-01-03 12:30 UTC (permalink / raw)
To: openembedded-core; +Cc: Ming Liu
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=yes, Size: 4303 bytes --]
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
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [OE-core] [PATCH] grub: fs/fat: Don't error when mtime is 0
2024-01-03 12:30 [OE-core] [PATCH] grub: fs/fat: Don't error when mtime is 0 liu.ming50
@ 2024-01-04 9:49 ` Alexandre Belloni
2024-01-04 10:04 ` Ming Liu
0 siblings, 1 reply; 3+ messages in thread
From: Alexandre Belloni @ 2024-01-04 9:49 UTC (permalink / raw)
To: Ming Liu; +Cc: openembedded-core
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
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [OE-core] [PATCH] grub: fs/fat: Don't error when mtime is 0
2024-01-04 9:49 ` Alexandre Belloni
@ 2024-01-04 10:04 ` Ming Liu
0 siblings, 0 replies; 3+ messages in thread
From: Ming Liu @ 2024-01-04 10:04 UTC (permalink / raw)
To: Alexandre Belloni; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 6209 bytes --]
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
>
[-- Attachment #2: Type: text/html, Size: 8528 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-01-04 10:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-03 12:30 [OE-core] [PATCH] grub: fs/fat: Don't error when mtime is 0 liu.ming50
2024-01-04 9:49 ` Alexandre Belloni
2024-01-04 10:04 ` Ming Liu
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.