[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7f1bad2d-0f82-ee66-e9d2-c67fbe38950a@pengutronix.de>
Date: Tue, 26 Sep 2017 07:24:10 +0200
From: Oleksij Rempel <ore@...gutronix.de>
To: Guenter Roeck <linux@...ck-us.net>,
Wim Van Sebroeck <wim@...ana.be>
Cc: Oleksij Rempel <o.rempel@...gutronix.de>,
Steffen Trumtrar <s.trumtrar@...gutronix.de>,
linux-watchdog@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] watchdog: Fix potential kref imbalance when opening
watchdog
On 25.09.2017 18:17, Guenter Roeck wrote:
> If a watchdog driver's open function sets WDOG_HW_RUNNING with the
> expectation that the watchdog can not be stopped, but then stops the
> watchdog anyway in its stop function, kref_get() wil not be called in
> watchdog_open(). If the watchdog then stops on close, WDOG_HW_RUNNING
> will be cleared and kref_put() will be called, causing a kref imbalance.
> As result the character device data structure will be released, which in
> turn will cause the system to crash on the next call to watchdog_open().
Ach, ok. I see. So the stop patch should remove it from the start.
Powered by blists - more mailing lists