Re: floppy driver assumes INITIAL_JIFFIES == 0

From: Linus Torvalds
Date: Thu Jun 03 2010 - 19:14:03 EST




On Thu, 3 Jun 2010, Stephen Hemminger wrote:
>
> Thank you for confirming my suspicions. Given the state of destruction
> there, bug fixing is like playing Jenga.

I suspect it's fixable, but it would probably involve a lot of careful
moving around of that "floppy_lock" spinlock. Add various asserts to make
sure that it's held in all cases, and then for each warning you get, you
add the proper spinlock until it's all properly protected.

The _original_ protection was just from irqs being atomic (UP, remember),
and the block layer queueing happening from irq-safe context. You're still
running it on UP, but we've even lost the irq-handler protection (and then
later, the bottom-half mutual exclusion).

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