FAT filesystem probing fails if a file's timestamp exceeds 2038
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Ubuntu) |
New
|
Undecided
|
Unassigned | ||
Focal |
Won't Fix
|
Undecided
|
Unassigned | ||
Jammy |
In Progress
|
Undecided
|
Unassigned | ||
grub2-unsigned (Ubuntu) |
New
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned | ||
linux-bluefield (Ubuntu) |
New
|
Undecided
|
Canonical Kernel Team | ||
Focal |
New
|
Undecided
|
Unassigned | ||
Jammy |
New
|
Undecided
|
Unassigned |
Bug Description
[Impact]
If any file's timestamp under `/boot/efi` exceeds 2038, the FAT filesystem probe will fail, and the system will drop into the GRUB shell.
[Fix]
There is an upstream patch that fixes this issue:
https:/
[Test Plan]
1. Prepare an EFI partition in FAT format.
root@jammy:~# lsblk -f
vda
├─vda1
│ vfat FAT32 C34E-C891 1G 1% /boot/efi
├─vda2
│ ext4 1.0 0cbb726b-
└─vda3
LVM2_m LVM2 eHoy3y-
└─ubuntu-
ext4 1.0 78ec8d75-
2. Change the timestamp of a directory under /boot/efi to exceed 2038:
touch -d "2038-02-27" /boot/efi/EFI
3. Reboot, and the system will be entered into the grub shell.
[Where problems could occur]
The patch simply bypasses the error logic when the modification time is zero in FAT.
There should be no regression unless the FAT filesystem is unable to handle such scenarios.
affects: | grub (Ubuntu) → grub2 (Ubuntu) |
Changed in grub2 (Ubuntu Focal): | |
status: | New → Won't Fix |
summary: |
- grub 2.06 prob fat fs fail. + FAT filesystem probing fails if a file's timestamp exceeds 2038 |
description: | updated |
description: | updated |
Changed in grub2 (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in grub2-unsigned (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in linux-bluefield (Ubuntu): | |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
tags: | added: kernel-daily-bug |
Noble and later versions already include the patch.