grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v1 3/3] fs/fat: don't error when mtime is 0


From: Robbie Harwood
Subject: [PATCH v1 3/3] fs/fat: don't error when mtime is 0
Date: Fri, 15 Jul 2022 16:13:02 -0400

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").

Signed-off-by: Robbie Harwood <rharwood@redhat.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 0951b2e63f..c5efed7241 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.35.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]