Description
In the Linux kernel, the following vulnerability has been resolved: watchdog: msc313e: Fix clock leak and spurious timer in settimeout() msc313e_wdt_settimeout() unconditionally calls msc313e_wdt_start() which introduces two severe bugs: 1. If the watchdog is already active, calling start() again will increase the reference count of the clock again. However stop() is only called once, the reference count is unbalance. 2. If the watchdog is stopped, calling settimeout() will start the hardware timer accidentally. Factor out the register-writing logic into a helper function. Only call it in settimeout() if the watchdog is running. Otherwise, simply update `wdev->timeout`.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
e9800b7994642a794afd4894f072541c14277ce8 to < 68665016c7b777b44e27b6b0c1e6524c28ebe40aaffectede9800b7994642a794afd4894f072541c14277ce8 to < 77ef2aa8b46876ca9935f32dd874c517ccf5d880affectede9800b7994642a794afd4894f072541c14277ce8 to < a1dd0817776ea2a870ba2347001af13ddd4cb321affectede9800b7994642a794afd4894f072541c14277ce8 to < 2152a13ee2a9af09a668ebd053a8dbf771dadb80affectede9800b7994642a794afd4894f072541c14277ce8 to < 2abf99a57b0b71b2b97745981f4039370ab78044affectede9800b7994642a794afd4894f072541c14277ce8 to < faf1eb2895c87a8c0fb920439dddc7e0d97c6a69affectede9800b7994642a794afd4894f072541c14277ce8 to < 3db30f315935c2fb0d95f46b7a593b5b4d3ec3d0affected
Linux Linux
Default version status: affected
5.14affected0 to < 5.14unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/68665016c7b777b44e27b6b0c1e6524c28ebe40a ↗
- https://git.kernel.org/stable/c/77ef2aa8b46876ca9935f32dd874c517ccf5d880 ↗
- https://git.kernel.org/stable/c/a1dd0817776ea2a870ba2347001af13ddd4cb321 ↗
- https://git.kernel.org/stable/c/2152a13ee2a9af09a668ebd053a8dbf771dadb80 ↗
- https://git.kernel.org/stable/c/2abf99a57b0b71b2b97745981f4039370ab78044 ↗
- https://git.kernel.org/stable/c/faf1eb2895c87a8c0fb920439dddc7e0d97c6a69 ↗
- https://git.kernel.org/stable/c/3db30f315935c2fb0d95f46b7a593b5b4d3ec3d0 ↗