Re: [WATCHDOG] v2.6.13 watchdog-patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux