Hi Anatoly,

On 7/4/2021 4:56 PM, Anatoly Burakov wrote:
Previous fix has addressed the incorrect handling of `base_frequency`
file, but has added a use-after-free error due to the fact that all
further code paths will lead to an `fclose()` call at the end, so the
additional `fclose()` call right after processing the file was
unnecessary.

Coverity issue: 369901

Fixes: 8a5febaac4f7 ("power: fix P-state base frequency handling")

Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
---
  lib/librte_power/power_pstate_cpufreq.c | 1 -
  1 file changed, 1 deletion(-)

diff --git a/lib/librte_power/power_pstate_cpufreq.c 
b/lib/librte_power/power_pstate_cpufreq.c
index 1cb0e4d917..ec745153d3 100644
--- a/lib/librte_power/power_pstate_cpufreq.c
+++ b/lib/librte_power/power_pstate_cpufreq.c
@@ -220,7 +220,6 @@ power_init_for_setting_freq(struct pstate_power_info *pi)
base_ratio = strtoul(buf_base, NULL, POWER_CONVERT_TO_DECIMAL)
                                / BUS_FREQ;
-               fclose(f_base);
        }
/* Add MSR read to detect turbo status */


Yes, removing the fclose will do it. Either that or add an "f_base = NULL" after the fclose, but the fclose removal is fine.

Acked-by: David Hunt <david.h...@intel.com>




Reply via email to