elf: Fix tst-cpu-features-cpuinfo for KVM guests on some AMD systems [BZ #28704]

On KVM guests running on some AMD systems, the IBRS feature is reported
as a synthetic feature using the Intel feature, while the cpuinfo entry
keeps the same. Handle that by first checking the presence of the Intel
feature on AMD systems.

Fixes bug 28704.

(cherry picked from commit 94058f6cde)
This commit is contained in:
Aurelien Jarno 2021-12-15 23:46:19 +01:00
parent dc9b69d533
commit 03de6917bd
2 changed files with 9 additions and 1 deletions

1
NEWS
View File

@ -24,6 +24,7 @@ The following bugs are resolved with this release:
[28532] powerpc64[le]: CFI for assembly templated syscalls is incorrect
[28678] nptl/tst-create1 hangs sporadically
[28700] "dns [!UNAVAIL=return] files" NSS default for hosts is not useful
[28704] elf/tst-cpu-features-cpuinfo fails for KVM guests on some AMD systems
Version 2.34

View File

@ -169,7 +169,14 @@ do_test (int argc, char **argv)
else if (cpu_features->basic.kind == arch_kind_amd)
{
fails += CHECK_PROC (ibpb, AMD_IBPB);
fails += CHECK_PROC (ibrs, AMD_IBRS);
/* The IBRS feature on AMD processors is reported using the Intel feature
* on KVM guests (synthetic bit). In both cases the cpuinfo entry is the
* same. */
if (HAS_CPU_FEATURE (IBRS_IBPB))
fails += CHECK_PROC (ibrs, IBRS_IBPB);
else
fails += CHECK_PROC (ibrs, AMD_IBRS);
fails += CHECK_PROC (stibp, AMD_STIBP);
}
fails += CHECK_PROC (ibt, IBT);