[GIT PULL] KVM/rseq changes for Linux 5.15-rc3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Linus,

The following changes since commit e4e737bb5c170df6135a127739a9e6148ee3da82:

  Linux 5.15-rc2 (2021-09-19 17:28:22 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus-rseq

for you to fetch changes up to 2da4a23599c263bd4a7658c2fe561cb3a73ea6ae:

  KVM: selftests: Remove __NR_userfaultfd syscall fallback (2021-09-22 10:24:02 -0400)

----------------------------------------------------------------
A fix for a bug with restartable sequences and KVM.  KVM's handling
of TIF_NOTIFY_RESUME, e.g. for task migration, clears the flag without
informing rseq and leads to stale data in userspace's rseq struct.

I'm sending this as a separate pull request since it's not code
that I usually touch.  In particular, patch 2 ("entry: rseq: Call
rseq_handle_notify_resume() in tracehook_notify_resume()") is just a
cleanup to try and make future bugs less likely.  If you prefer this to
be sent via Thomas and only in 5.16, please speak up.

----------------------------------------------------------------
Sean Christopherson (5):
      KVM: rseq: Update rseq when processing NOTIFY_RESUME on xfer to KVM guest
      entry: rseq: Call rseq_handle_notify_resume() in tracehook_notify_resume()
      tools: Move x86 syscall number fallbacks to .../uapi/
      KVM: selftests: Add a test for KVM_RUN+rseq to detect task migration bugs
      KVM: selftests: Remove __NR_userfaultfd syscall fallback

 arch/arm/kernel/signal.c                          |   1 -
 arch/arm64/kernel/signal.c                        |   4 +-
 arch/csky/kernel/signal.c                         |   4 +-
 arch/mips/kernel/signal.c                         |   4 +-
 arch/powerpc/kernel/signal.c                      |   4 +-
 include/linux/tracehook.h                         |   2 +
 kernel/entry/common.c                             |   4 +-
 kernel/rseq.c                                     |  14 +-
 tools/arch/x86/include/{ => uapi}/asm/unistd_32.h |   0
 tools/arch/x86/include/{ => uapi}/asm/unistd_64.h |   3 -
 tools/testing/selftests/kvm/.gitignore            |   1 +
 tools/testing/selftests/kvm/Makefile              |   3 +
 tools/testing/selftests/kvm/rseq_test.c           | 236 ++++++++++++++++++++++
 13 files changed, 258 insertions(+), 22 deletions(-)
 rename tools/arch/x86/include/{ => uapi}/asm/unistd_32.h (100%)
 rename tools/arch/x86/include/{ => uapi}/asm/unistd_64.h (83%)
 create mode 100644 tools/testing/selftests/kvm/rseq_test.c




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux