mbox series

[v2,0/2] kvm/selftests: Two rseq_test fixes

Message ID 20220810104114.6838-1-gshan@redhat.com (mailing list archive)
Headers show
Series kvm/selftests: Two rseq_test fixes | expand

Message

Gavin Shan Aug. 10, 2022, 10:41 a.m. UTC
There are two issues in current rseq_test implementation and the
series intends to fix them:

- From glibc-2.35, rseq information is registered by TLS. It means
  rseq_test is unable to register its own rseq information. PATCH[01]
  fixes the issue by reusing "../rseq/rseq.c" to fetch TLS's rseq
  information if possible.

- sched_getcpu() relies on glibc's implementation and it can simply
  returns the CPU ID cached in the rseq information. In this case,
  it's pointless to compare the return value from sched_getcpu()
  and that fetched from rseq information. PATCH[02] fixes the issue
  by replacing sched_getcpu() with getcpu().

v1: https://lore.kernel.org/lkml/8c1f33b4-a5a1-fcfa-4521-36253ffa22c8@redhat.com/T/

Changelog
=========
v2:
  * Add "-ldl" to LDLIBS as Florian suggested.
  * Reuse "../rseq/rseq.c" as Paolo/Mathieu/Sean suggested.
  * Add comments to sys_getcpu() as Sean suggested.

Gavin Shan (2):
  KVM: selftests: Make rseq compatible with glibc-2.35
  KVM: selftests: Use getcpu() instead of sched_getcpu() in rseq_test

 tools/testing/selftests/kvm/Makefile    |  5 ++-
 tools/testing/selftests/kvm/rseq_test.c | 60 ++++++++++++-------------
 2 files changed, 33 insertions(+), 32 deletions(-)