RE: [PATCH AUTOSEL 5.2 82/94] tools/power turbostat: fix file descriptor leaks

From: Brown, Len
Date: Thu Sep 05 2019 - 13:00:32 EST


The latest turbostat and x86_energy_perf_policy utilities in the upstream kernel tree should always be backward compatible with all old kernels. If that is EVER not the case, I want to know about it.

Yes, I know that some distros ship old versions of these utilities built out of their matching kernel tree snapshots.
Yes, applying upstream fixes to .stable for such distros is a good thing.

However, the better solution for these particular utilities, is that they simply always use upstream utilities -- even with old kernels.

When somebody reports a problem and I need them to run these tools, 100% of the time, I start by sending them the latest upstream version to replace the old version shipped by the distro.


-----Original Message-----
From: Sasha Levin [mailto:sashal@xxxxxxxxxx]
Sent: Wednesday, September 04, 2019 11:57 AM
To: linux-kernel@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx
Cc: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>; Prarit Bhargava <prarit@xxxxxxxxxx>; Brown, Len <len.brown@xxxxxxxxx>; Sasha Levin <sashal@xxxxxxxxxx>; linux-pm@xxxxxxxxxxxxxxx
Subject: [PATCH AUTOSEL 5.2 82/94] tools/power turbostat: fix file descriptor leaks

From: "Gustavo A. R. Silva" <gustavo@xxxxxxxxxxxxxx>

[ Upstream commit 605736c6929d541c78a85dffae4d33a23b6b2149 ]

Fix file descriptor leaks by closing fp before return.

Addresses-Coverity-ID: 1444591 ("Resource leak")
Addresses-Coverity-ID: 1444592 ("Resource leak")
Fixes: 5ea7647b333f ("tools/power turbostat: Warn on bad ACPI LPIT data")
Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>
Reviewed-by: Prarit Bhargava <prarit@xxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
tools/power/x86/turbostat/turbostat.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
index 71a931813de00..066bd43ed6c9f 100644
--- a/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c
@@ -2912,6 +2912,7 @@ int snapshot_cpu_lpi_us(void)
if (retval != 1) {
fprintf(stderr, "Disabling Low Power Idle CPU output\n");
+ fclose(fp);
return -1;