lkml.org 
[lkml]   [2005]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [WATCHDOG] v2.6.13 watchdog-patches
From
Date
On Sat, 2005-09-03 at 22:04 +0200, Wim Van Sebroeck wrote:
> Author: Chuck Ebbert <76306.1226@compuserve.com>
> 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 <schierlm@gmx.de>
>
> 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.....


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

\
 
 \ /
  Last update: 2005-09-03 22:14    [W:0.267 / U:0.848 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site