On Sat, 2005-09-03 at 22:11 +0200, Arjan van de Ven wrote: > On Sat, 2005-09-03 at 22:04 +0200, Wim Van Sebroeck wrote: > > Author: Chuck Ebbert <[EMAIL PROTECTED]> > > Date: Fri Aug 19 14:14:07 2005 +0200 > > > > [WATCHDOG] softdog-timer-running-oops.patch > > > > The softdog watchdog timer has a bug that can create an oops: > > > > 1. Load the module without the nowayout option. > > 2. Open the driver and close it without writing 'V' before close. > > 3. Unload the module. The timer will continue to run... > > 4. Oops happens when timer fires. > > > > Reported Sun, 10 Oct 2004, by Michael Schierl <[EMAIL PROTECTED]> > > > > Fix is easy: always take a reference on the module on open. > > Release it only when the device is closed and no timer is running. > > Tested on 2.6.13-rc6 using the soft_noboot option. While the > > timer is running and the device is closed, the module use count > > stays at 1. After the timer fires, it drops to 0. Repeatedly > > opening and closing the driver caused no problems. Please apply. > > > this looks ENTIRELY like the wrong solution! > Isn't it a LOT easier to just del_timer_sync() the timer from the module > exit code? Mucking with module refcounts in a driver is almost always a > sign of a bug or at least really bad design, and I think that is the > case here..... >
But that defeats the purpose of the nowayout option doesn't it? josh - 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/