linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] KVM patches for Linux 6.1-rc2
@ 2022-10-23 17:43 Paolo Bonzini
  2022-10-23 22:15 ` Linus Torvalds
  2022-10-23 22:39 ` pr-tracker-bot
  0 siblings, 2 replies; 4+ messages in thread
From: Paolo Bonzini @ 2022-10-23 17:43 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, kvm

Linus,

The following changes since commit 9abf2313adc1ca1b6180c508c25f22f9395cc780:

  Linux 6.1-rc1 (2022-10-16 15:36:24 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 9aec606c1609a5da177b579475a73f6c948e034a:

  tools: include: sync include/api/linux/kvm.h (2022-10-22 07:54:19 -0400)

----------------------------------------------------------------
RISC-V:

- Fix compilation without RISCV_ISA_ZICBOM

- Fix kvm_riscv_vcpu_timer_pending() for Sstc

ARM:

- Fix a bug preventing restoring an ITS containing mappings
  for very large and very sparse device topology

- Work around a relocation handling error when compiling
  the nVHE object with profile optimisation

- Fix for stage-2 invalidation holding the VM MMU lock
  for too long by limiting the walk to the largest
  block mapping size

- Enable stack protection and branch profiling for VHE

- Two selftest fixes

x86:

- add compat implementation for KVM_X86_SET_MSR_FILTER ioctl

selftests:

- synchronize includes between include/uapi and tools/include/uapi

----------------------------------------------------------------

As a heads up, next week I will have a relatively large pull
request in number of patches, with a series fixing various issues in
virt/kvm/pfncache.c.

Paolo

Alexander Graf (3):
      kvm: Add support for arch compat vm ioctls
      KVM: x86: Copy filter arg outside kvm_vm_ioctl_set_msr_filter()
      KVM: x86: Add compat handler for KVM_X86_SET_MSR_FILTER

Andrew Jones (1):
      RISC-V: Fix compilation without RISCV_ISA_ZICBOM

Anup Patel (1):
      RISC-V: KVM: Fix kvm_riscv_vcpu_timer_pending() for Sstc

Denis Nikitin (1):
      KVM: arm64: nvhe: Fix build with profile optimization

Eric Ren (1):
      KVM: arm64: vgic: Fix exit condition in scan_its_table()

Gavin Shan (1):
      KVM: selftests: Fix number of pages for memory slot in memslot_modification_stress_test

Oliver Upton (2):
      KVM: arm64: Work out supported block level at compile time
      KVM: arm64: Limit stage2_apply_range() batch size to largest block

Paolo Bonzini (4):
      Merge tag 'kvmarm-fixes-6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      Merge tag 'kvmarm-fixes-6.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      Merge tag 'kvm-riscv-fixes-6.1-1' of https://github.com/kvm-riscv/linux into HEAD
      tools: include: sync include/api/linux/kvm.h

Vincent Donnefort (1):
      KVM: arm64: Enable stack protection and branch profiling for VHE

Zenghui Yu (1):
      KVM: arm64: selftests: Fix multiple versions of GIC creation

 arch/arm64/include/asm/kvm_pgtable.h               | 18 +++--
 arch/arm64/include/asm/stage2_pgtable.h            | 20 -----
 arch/arm64/kvm/hyp/Makefile                        |  5 +-
 arch/arm64/kvm/hyp/nvhe/Makefile                   |  7 ++
 arch/arm64/kvm/mmu.c                               |  9 ++-
 arch/arm64/kvm/vgic/vgic-its.c                     |  5 +-
 arch/riscv/include/asm/cacheflush.h                |  8 --
 arch/riscv/include/asm/kvm_vcpu_timer.h            |  1 +
 arch/riscv/kvm/vcpu.c                              |  3 +
 arch/riscv/kvm/vcpu_timer.c                        | 17 ++++-
 arch/riscv/mm/cacheflush.c                         | 38 ++++++++++
 arch/riscv/mm/dma-noncoherent.c                    | 41 ----------
 arch/x86/kvm/x86.c                                 | 87 ++++++++++++++++++----
 include/linux/kvm_host.h                           |  2 +
 tools/include/uapi/linux/kvm.h                     |  1 +
 tools/testing/selftests/kvm/aarch64/vgic_init.c    |  4 +-
 .../kvm/memslot_modification_stress_test.c         |  2 +-
 virt/kvm/kvm_main.c                                | 11 +++
 18 files changed, 180 insertions(+), 99 deletions(-)


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] KVM patches for Linux 6.1-rc2
  2022-10-23 17:43 [GIT PULL] KVM patches for Linux 6.1-rc2 Paolo Bonzini
@ 2022-10-23 22:15 ` Linus Torvalds
  2022-10-25  9:42   ` Paolo Bonzini
  2022-10-23 22:39 ` pr-tracker-bot
  1 sibling, 1 reply; 4+ messages in thread
From: Linus Torvalds @ 2022-10-23 22:15 UTC (permalink / raw)
  To: Paolo Bonzini, Alexander Graf; +Cc: linux-kernel, kvm

On Sun, Oct 23, 2022 at 10:43 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> x86:
>
> - add compat implementation for KVM_X86_SET_MSR_FILTER ioctl

Side note: this should probably have used

        compat_uptr_t bitmap;
        ...
        .bitmap = compat_ptr(cr->bitmap),

instead of doing that

        __u32 bitmap;
        ...
       .bitmap = (__u8 *)(ulong)cr->bitmap,

because not only are those casts really ugly, using that
'compat_uptr_t" and "compat_ptr()" helper also really explains what is
going on.

compat_ptr() also happens to get the address space right (ie it
returns a "void __user *" pointer). But since the non-compat 'struct
kvm_msr_filter_range' bitmap member doesn't get that right either
(because it uses the same type for kernel pointers as for user
pointers - ugly uglt), that isn't such a big deal. The kvm code
clearly doesn't do proper user pointer typing, and just uses random
casts instead.

                         Linus

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] KVM patches for Linux 6.1-rc2
  2022-10-23 17:43 [GIT PULL] KVM patches for Linux 6.1-rc2 Paolo Bonzini
  2022-10-23 22:15 ` Linus Torvalds
@ 2022-10-23 22:39 ` pr-tracker-bot
  1 sibling, 0 replies; 4+ messages in thread
From: pr-tracker-bot @ 2022-10-23 22:39 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: torvalds, linux-kernel, kvm

The pull request you sent on Sun, 23 Oct 2022 13:43:07 -0400:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/05b4ebd2c7cbb3671c376754b37b4963dd08a3a2

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] KVM patches for Linux 6.1-rc2
  2022-10-23 22:15 ` Linus Torvalds
@ 2022-10-25  9:42   ` Paolo Bonzini
  0 siblings, 0 replies; 4+ messages in thread
From: Paolo Bonzini @ 2022-10-25  9:42 UTC (permalink / raw)
  To: Linus Torvalds, Alexander Graf; +Cc: linux-kernel, kvm

On 10/24/22 00:15, Linus Torvalds wrote:
> 
> compat_ptr() also happens to get the address space right (ie it
> returns a "void __user *" pointer). But since the non-compat 'struct
> kvm_msr_filter_range' bitmap member doesn't get that right either
> (because it uses the same type for kernel pointers as for user
> pointers - ugly uglt), that isn't such a big deal. The kvm code
> clearly doesn't do proper user pointer typing, and just uses random
> casts instead.
In general KVM ioctl arguments very rarely have __user pointers in them, 
so there's not much need for compat ioctls at all.  KVM_GET_DIRTY_LOG 
and KVM_CLEAR_DIRTY_LOG get it right, but this one indeed can be 
improved with compat_ptr().  Will do for 6.2, thanks for the review.

Paolo


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-10-25  9:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-23 17:43 [GIT PULL] KVM patches for Linux 6.1-rc2 Paolo Bonzini
2022-10-23 22:15 ` Linus Torvalds
2022-10-25  9:42   ` Paolo Bonzini
2022-10-23 22:39 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).