Re: [PATCH 1/1] filesystem: Disk Errors at boot-time caused byprobe of partitions

From: Andrew Morton
Date: Thu Feb 01 2007 - 17:27:30 EST


On Wed, 31 Jan 2007 23:50:39 +0000
TJ <linux@xxxxxxxxxxx> wrote:

> + if (!insane && is_extended_partition(p)) { /* check the extended partition */
> + data = read_dev_sector(bdev, START_SECT(p)*sector_size, &sect); /* fetch sector from cache */
> + if (data) {
> + if (msdos_magic_present(data + 510)) { /* check for signature */
> + ext = (struct partition *) (data + 0x1be);
> + ret = check_sane_values(ext, bdev); /* recursive call */

The recursion is a concern. Is there any way in which a cunningly-crafted
device can cause sufficiently deep recursion to crash the kernel?

Also, from reading the replies I think we'd like to see some more
explanation of why this is necessary: are you really really sure that those
disks were incorrectly handling illegal sector numbers? Knowing the IBM
and Maxtor model numbers might be useful.

I assume you were using a driver in drivers/ide/? Perhaps this is really
an IDE-layer bug.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/