OSDN Git Service

perf/x86/intel/uncore: Fix invalid unit check
authorKan Liang <kan.liang@linux.intel.com>
Thu, 26 Aug 2021 15:32:38 +0000 (08:32 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 31 Aug 2021 11:59:35 +0000 (13:59 +0200)
The uncore unit with the type ID 0 and the unit ID 0 is missed.

The table3 of the uncore unit maybe 0. The
uncore_discovery_invalid_unit() mistakenly treated it as an invalid
value.

Remove the !unit.table3 check.

Fixes: edae1f06c2cd ("perf/x86/intel/uncore: Parse uncore discovery tables")
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/1629991963-102621-3-git-send-email-kan.liang@linux.intel.com
arch/x86/events/intel/uncore_discovery.h

index 7280c8a..6d73561 100644 (file)
@@ -30,7 +30,7 @@
 
 
 #define uncore_discovery_invalid_unit(unit)                    \
-       (!unit.table1 || !unit.ctl || !unit.table3 ||   \
+       (!unit.table1 || !unit.ctl || \
         unit.table1 == -1ULL || unit.ctl == -1ULL ||   \
         unit.table3 == -1ULL)