[tip: perf/core] perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()

From: tip-bot2 for Xiongfeng Wang
Date: Thu Nov 24 2022 - 07:03:04 EST


The following commit has been merged into the perf/core branch of tip:

Commit-ID: 1ff9dd6e7071a561f803135c1d684b13c7a7d01d
Gitweb: https://git.kernel.org/tip/1ff9dd6e7071a561f803135c1d684b13c7a7d01d
Author: Xiongfeng Wang <wangxiongfeng2@xxxxxxxxxx>
AuthorDate: Fri, 18 Nov 2022 14:31:35 +08:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Thu, 24 Nov 2022 11:09:25 +01:00

perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()

pci_get_device() will increase the reference count for the returned
'dev'. We need to call pci_dev_put() to decrease the reference count.
Since 'dev' is only used in pci_read_config_dword(), let's add
pci_dev_put() right after it.

Fixes: 9d480158ee86 ("perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3")
Signed-off-by: Xiongfeng Wang <wangxiongfeng2@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20221118063137.121512-3-wangxiongfeng2@xxxxxxxxxx
---
arch/x86/events/intel/uncore_snbep.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index b14d591..93b0f1f 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -2910,6 +2910,7 @@ static bool hswep_has_limit_sbox(unsigned int device)
return false;

pci_read_config_dword(dev, HSWEP_PCU_CAPID4_OFFET, &capid4);
+ pci_dev_put(dev);
if (!hswep_get_chop(capid4))
return true;