]> git.hungrycats.org Git - linux/commit
[PATCH] partition table validity checking
authorAndrew Morton <akpm@osdl.org>
Thu, 3 Jun 2004 00:58:58 +0000 (17:58 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 3 Jun 2004 00:58:58 +0000 (17:58 -0700)
commit18e95846f35549cce65c8edd584ed5ad0fde661e
tree9d62d4e6a9e6aa3bfd17a7a58072a65c3fe817c2
parent1df9796b35c9d4fdb9b0a724d05c41a8962ff393
[PATCH] partition table validity checking

From: Andries Brouwer <Andries.Brouwer@cwi.nl>

The patch examines a putative partition table, and if that doesnt look like a
valid partition table it goes away again.

Some devices have partition tables (and there are many styles of such), some
don't.  Traditionally fixed disks have one, floppies don't.  Nobody knows what
happens with ZIP disks, USB sticks and other such things.  Both the DOS-type
partition table, and the "big floppy" whole disk FAT filesystem are common.
It is undesirable for the kernel to detect partitions where there are none.
This leads to great confusion, sometimes to kernel crashes.

In the particular case of DOS-type partition tables a partition entry has a
1-byte field boot_ind that traditionally is 0x80 for the boot partition and 0
for the other three primary partitions.  Linux does not use this field, and
one sometimes sees tables with all four entries zero.

The patch tells the kernel not to think that something is a valid DOS-type
partition table when a value other than 0 or 0x80 is encountered.  I think it
is a fairly safe change: I do not know of any fdisk-type program that will
write other values there.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/partitions/msdos.c