Commit 076f4c78 authored by Qinglang Miao's avatar Qinglang Miao Committed by Jinjiang Tu
Browse files

i2c: cadence: fix reference leak when pm_runtime_get_sync fails

mainline inclusion
from mainline-v5.13-rc1
commit 23ceb846
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I94JHY
CVE: CVE-2020-36784

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=23ceb8462dc6f4b4decdb5536a7e5fc477cdf0b6



---------------------------

The PM reference count is not expected to be incremented on
return in functions cdns_i2c_master_xfer and cdns_reg_slave.

However, pm_runtime_get_sync will increment pm usage counter
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.

Fixes: 7fa32329 ("i2c: cadence: Move to sensible power management")
Reported-by: default avatarHulk Robot <hulkci@huawei.com>
Signed-off-by: default avatarQinglang Miao <miaoqinglang@huawei.com>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>

Conflicts:
	drivers/i2c/busses/i2c-cadence.c

Signed-off-by: default avatarJinjiang Tu <tujinjiang@huawei.com>
parent 415aa2f1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment