[PATCH v2 0/6] KVM: Standardize on "int" return types instead of "long"

Thomas Huth thuth at redhat.com
Wed Feb 8 06:00:59 PST 2023


KVM functions use "long" return values for functions that are wired up
to "struct file_operations", but otherwise use "int" return values for
functions that can return 0/-errno in order to avoid unintentional
divergences between 32-bit and 64-bit kernels. Some related functions
that are not part of a "struct file_operations" still use "long", though,
which can cause confusion or even subtle problems (see the x86 and the
arm64 patches). Thus let's standardize on using "int" for return values
in these functions to avoid such problems in the future.

v2:
- Remove KVM_GET_NR_MMU_PAGES ioctl instead of trying to work-around
  the problem (the ioctl is not used in any userspace app anyway)
- Add check for INT_MAX to the arm64 patch
- Added Reviewed-bys from v1

Thomas Huth (6):
  KVM: PPC: Standardize on "int" return types in the powerpc KVM code
  KVM: s390: Use "int" as return type for kvm_s390_get/set_skeys()
  KVM: x86: Remove the KVM_GET_NR_MMU_PAGES ioctl
  KVM: arm64: Limit length in kvm_vm_ioctl_mte_copy_tags() to INT_MAX
  KVM: Standardize on "int" return types instead of "long" in kvm_main.c
  KVM: Change return type of kvm_arch_vm_ioctl() to "int"

 Documentation/virt/kvm/api.rst      |  3 ++-
 arch/arm64/include/asm/kvm_host.h   |  4 ++--
 arch/arm64/kvm/arm.c                |  3 +--
 arch/arm64/kvm/guest.c              |  8 ++++++--
 arch/mips/kvm/mips.c                |  4 ++--
 arch/powerpc/include/asm/kvm_ppc.h  | 14 +++++++-------
 arch/powerpc/kvm/book3s_64_mmu_hv.c | 14 +++++++-------
 arch/powerpc/kvm/book3s_64_vio.c    |  4 ++--
 arch/powerpc/kvm/book3s_hv.c        |  6 +++---
 arch/powerpc/kvm/book3s_pr.c        |  4 ++--
 arch/powerpc/kvm/powerpc.c          |  5 ++---
 arch/riscv/kvm/vm.c                 |  3 +--
 arch/s390/kvm/kvm-s390.c            |  7 +++----
 arch/x86/kvm/x86.c                  | 11 +----------
 include/linux/kvm_host.h            |  3 +--
 include/uapi/linux/kvm.h            |  2 +-
 tools/include/uapi/linux/kvm.h      |  2 +-
 virt/kvm/kvm_main.c                 |  4 ++--
 18 files changed, 46 insertions(+), 55 deletions(-)

-- 
2.31.1




More information about the kvm-riscv mailing list