From bippy-851b3ed3d212 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman To: Reply-to: , Subject: CVE-2020-36779: i2c: stm32f7: fix reference leak when pm_runtime_get_sync fails Description =========== In the Linux kernel, the following vulnerability has been resolved: i2c: stm32f7: fix reference leak when pm_runtime_get_sync fails The PM reference count is not expected to be incremented on return in these stm32f7_i2c_xx serious functions. However, pm_runtime_get_sync will increment the PM reference count even failed. Forgetting to putting operation will result in a reference leak here. Replace it with pm_runtime_resume_and_get to keep usage counter balanced. The Linux kernel CVE team has assigned CVE-2020-36779 to this issue. Affected and fixed versions =========================== Issue introduced in 5.6 with commit ea6dd25deeb5 and fixed in 5.10.37 with commit c323b270a52a Issue introduced in 5.6 with commit ea6dd25deeb5 and fixed in 5.11.21 with commit d791b90f5c5e Issue introduced in 5.6 with commit ea6dd25deeb5 and fixed in 5.12.4 with commit c7ea772c9fcf Issue introduced in 5.6 with commit ea6dd25deeb5 and fixed in 5.13 with commit 2c662660ce2b Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2020-36779 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: drivers/i2c/busses/i2c-stm32f7.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/c323b270a52a26aa8038a4d1fd9a850904a41166 https://git.kernel.org/stable/c/d791b90f5c5e5aa8ccf9e33386c16bd2b7e333a4 https://git.kernel.org/stable/c/c7ea772c9fcf711ed566814b92eecaffc0e2bfd0 https://git.kernel.org/stable/c/2c662660ce2bd3b09dae21a9a9ac9395e1e6c00b