[PATCH] AMD IDE oops in current 2.4-ac

Andreas Arens (ari@goron.de)
Wed, 12 Feb 2003 21:37:10 +0100


On Wednesday 12 February 2003 20:49, Dave Jones wrote:
> > Current 2.4.21-pre4-ac kernels oops in amd74xx.c with
> > certain chipsets due to a table order problem. The
> > problem is correctly detected by a BUG() in the pci probe
> > routine, which should trigger for all non-nforce chipsets.
>
> If moving entries in the table caused a bug, adding new entries
> could do the same too perhaps ? This sounds quite fragile
> based on your description & diff.
>
amd74xx_probe() compares the pci device ids of both the
probe table and the settings table, so should be save from
misprogramming.
To protect against using random memory after the end
of the table, a bug check on the table size could help:
if (dev->device != d->device) BUG();
+ if (sizeof(amd_ide_chips) >= id->driver_data) BUG();
if (dev->device != amd_config->id) BUG();

Even with this it still looks error prone, especially since
the probe table and the config table are several lines
spread across the file.

Regards
Andy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/