FWIW, 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. Cheers, -Len -----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"); BIC_NOT_PRESENT(BIC_CPU_LPI); + fclose(fp); return -1; } -- 2.20.1