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, > §); /* 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/