e2fsprogs/e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch
Eric Sandeen 0d33055625 * Tue Nov 27 2007 Eric Sandeen <esandeen@redhat.com> 1.40.2-12
- Use upstream patch for blkid fat detection, avoids div-by-zero
  when encountering some BSD partitions (#398281)
2007-11-27 16:21:18 +00:00

36 lines
1.8 KiB
Diff

From: Theodore Ts'o <tytso@mit.edu>
Date: Sun, 23 Sep 2007 13:50:11 +0000 (-0400)
Subject: libblkid: Add more magic numbers that might mean there is a FAT filesystem
X-Git-Url: http://git.kernel.org/?p=fs%2Fext2%2Fe2fsprogs.git;a=commitdiff_plain;h=846be6db813895c354cc54beaa8fa6aba8d98085
libblkid: Add more magic numbers that might mean there is a FAT filesystem
The FAT filesystem doesn't have its superblock with a set of magic
strings in a fixed location. Therefore, we must also check for the
FAT filesystem if it looks like we have an MBR at the beginning of the
partition. We previously checked if the first byte was a jump
instruction but that missed some USB disks with only one bootable
partition. Now we check for the MBR signature (0x55AA at offset 510)
as well as any partition where byte 0 is \351 or \353.
Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c
index 69a43b0..5c20127 100644
--- a/lib/blkid/probe.c
+++ b/lib/blkid/probe.c
@@ -846,8 +846,9 @@ static struct blkid_magic type_array[] = {
{ "vfat", 0, 0x36, 5, "MSDOS", probe_fat },
{ "vfat", 0, 0x36, 8, "FAT16 ", probe_fat },
{ "vfat", 0, 0x36, 8, "FAT12 ", probe_fat },
- { "vfat", 0, 0, 2, "\353\220", probe_fat_nomagic },
+ { "vfat", 0, 0, 1, "\353", probe_fat_nomagic },
{ "vfat", 0, 0, 1, "\351", probe_fat_nomagic },
+ { "vfat", 0, 0x1fe, 2, "\125\252", probe_fat_nomagic },
{ "minix", 1, 0x10, 2, "\177\023", 0 },
{ "minix", 1, 0x10, 2, "\217\023", 0 },
{ "minix", 1, 0x10, 2, "\150\044", 0 },