BUG: [2.4.18+] IDE Race Condition

From: Ross Biro (rossb@google.com)
Date: Mon Jan 27 2003 - 12:11:48 EST


There is at least one more IDE race condition in 2.4.18 and 2.4.21-pre3.
 Basically the interrupt for the controller being serviced is left on
while setting up the next command. I'm not sure how much trouble it can
cause but it does lead to some interesting stack traces.

The condition
if (masked_irq && hwif->irq != masked_irq)
in ide_do_request should be replaced with
if (!masked_irq || hwif->irq != masked_irq)
in two places.

This doesn't totally eliminate the race conditions, but it does minimize
them some more. I can still see a race in 2.4.18. I'll say more about
it once I've tracked it down.

    Ross

-
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/



This archive was generated by hypermail 2b29 : Fri Jan 31 2003 - 22:00:17 EST