On Wed, 31 Jan 2007 23:50:39 +0000
TJ <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to