Bug 1220558 (CVE-2020-36779)

Summary: VUL-0: CVE-2020-36779: kernel: i2c: stm32f7: reference leak when pm_runtime_get_sync() fails
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Kernel Bugs <kernel-bugs>
Status: RESOLVED FIXED QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P5 - None CC: carlos.lopez
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/395416/
Whiteboard: CVSSv3.1:SUSE:CVE-2020-36779:4.7:(AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-02-28 12:40:29 UTC
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.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-36779
https://www.cve.org/CVERecord?id=CVE-2020-36779
https://git.kernel.org/stable/c/2c662660ce2bd3b09dae21a9a9ac9395e1e6c00b
https://git.kernel.org/stable/c/c323b270a52a26aa8038a4d1fd9a850904a41166
https://git.kernel.org/stable/c/c7ea772c9fcf711ed566814b92eecaffc0e2bfd0
https://git.kernel.org/stable/c/d791b90f5c5e5aa8ccf9e33386c16bd2b7e333a4
Comment 1 Carlos López 2024-02-28 12:41:26 UTC
We have ea6dd25deeb5 ("i2c: stm32f7: add PM_SLEEP suspend/resume support") in cve/linux-5.14, SLE15-SP6, stable and master, all of which have the fix. Closing.