Skip to content
  1. Feb 04, 2021
  2. Feb 03, 2021
    • Paolo Bonzini's avatar
      KVM: x86: cleanup CR3 reserved bits checks · c1c35cf7
      Paolo Bonzini authored
      
      
      If not in long mode, the low bits of CR3 are reserved but not enforced to
      be zero, so remove those checks.  If in long mode, however, the MBZ bits
      extend down to the highest physical address bit of the guest, excluding
      the encryption bit.
      
      Make the checks consistent with the above, and match them between
      nested_vmcb_checks and KVM_SET_SREGS.
      
      Cc: stable@vger.kernel.org
      Fixes: 761e4169 ("KVM: nSVM: Check that MBZ bits in CR3 and CR4 are not set on vmrun of nested guests")
      Fixes: a780a3ea ("KVM: X86: Fix reserved bits check for MOV to CR3")
      Reviewed-by: default avatarSean Christopherson <seanjc@google.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      c1c35cf7
    • Sean Christopherson's avatar
      KVM: SVM: Treat SVM as unsupported when running as an SEV guest · ccd85d90
      Sean Christopherson authored
      
      
      Don't let KVM load when running as an SEV guest, regardless of what
      CPUID says.  Memory is encrypted with a key that is not accessible to
      the host (L0), thus it's impossible for L0 to emulate SVM, e.g. it'll
      see garbage when reading the VMCB.
      
      Technically, KVM could decrypt all memory that needs to be accessible to
      the L0 and use shadow paging so that L0 does not need to shadow NPT, but
      exposing such information to L0 largely defeats the purpose of running as
      an SEV guest.  This can always be revisited if someone comes up with a
      use case for running VMs inside SEV guests.
      
      Note, VMLOAD, VMRUN, etc... will also #GP on GPAs with C-bit set, i.e. KVM
      is doomed even if the SEV guest is debuggable and the hypervisor is willing
      to decrypt the VMCB.  This may or may not be fixed on CPUs that have the
      SVME_ADDR_CHK fix.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
      Message-Id: <20210202212017.2486595-1-seanjc@google.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      ccd85d90
  3. Feb 02, 2021
    • Sean Christopherson's avatar
      KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode · 943dea8a
      Sean Christopherson authored
      
      
      Set the emulator context to PROT64 if SYSENTER transitions from 32-bit
      userspace (compat mode) to a 64-bit kernel, otherwise the RIP update at
      the end of x86_emulate_insn() will incorrectly truncate the new RIP.
      
      Note, this bug is mostly limited to running an Intel virtual CPU model on
      an AMD physical CPU, as other combinations of virtual and physical CPUs
      do not trigger full emulation.  On Intel CPUs, SYSENTER in compatibility
      mode is legal, and unconditionally transitions to 64-bit mode.  On AMD
      CPUs, SYSENTER is illegal in compatibility mode and #UDs.  If the vCPU is
      AMD, KVM injects a #UD on SYSENTER in compat mode.  If the pCPU is Intel,
      SYSENTER will execute natively and not trigger #UD->VM-Exit (ignoring
      guest TLB shenanigans).
      
      Fixes: fede8076 ("KVM: x86: handle wrap around 32-bit address space")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJonny Barker <jonny@jonnybarker.com>
      [sean: wrote changelog]
      Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
      Message-Id: <20210202165546.2390296-1-seanjc@google.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      943dea8a
  4. Feb 01, 2021
    • Vitaly Kuznetsov's avatar
      KVM: x86: Supplement __cr4_reserved_bits() with X86_FEATURE_PCID check · 4683d758
      Vitaly Kuznetsov authored
      
      
      Commit 7a873e45 ("KVM: selftests: Verify supported CR4 bits can be set
      before KVM_SET_CPUID2") reveals that KVM allows to set X86_CR4_PCIDE even
      when PCID support is missing:
      
      ==== Test Assertion Failure ====
        x86_64/set_sregs_test.c:41: rc
        pid=6956 tid=6956 - Invalid argument
           1	0x000000000040177d: test_cr4_feature_bit at set_sregs_test.c:41
           2	0x00000000004014fc: main at set_sregs_test.c:119
           3	0x00007f2d9346d041: ?? ??:0
           4	0x000000000040164d: _start at ??:?
        KVM allowed unsupported CR4 bit (0x20000)
      
      Add X86_FEATURE_PCID feature check to __cr4_reserved_bits() to make
      kvm_is_valid_cr4() fail.
      
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Message-Id: <20210201142843.108190-1-vkuznets@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      4683d758
    • Zheng Zhan Liang's avatar
      KVM/x86: assign hva with the right value to vm_munmap the pages · b66f9bab
      Zheng Zhan Liang authored
      
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Wanpeng Li <wanpengli@tencent.com>
      Cc: kvm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarZheng Zhan Liang <zhengzhanliang@huorong.cn>
      Message-Id: <20210201055310.267029-1-zhengzhanliang@huorong.cn>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      b66f9bab
    • Paolo Bonzini's avatar
      KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off · 7131636e
      Paolo Bonzini authored
      
      
      Userspace that does not know about KVM_GET_MSR_FEATURE_INDEX_LIST
      will generally use the default value for MSR_IA32_ARCH_CAPABILITIES.
      When this happens and the host has tsx=on, it is possible to end up with
      virtual machines that have HLE and RTM disabled, but TSX_CTRL available.
      
      If the fleet is then switched to tsx=off, kvm_get_arch_capabilities()
      will clear the ARCH_CAP_TSX_CTRL_MSR bit and it will not be possible to
      use the tsx=off hosts as migration destinations, even though the guests
      do not have TSX enabled.
      
      To allow this migration, allow guests to write to their TSX_CTRL MSR,
      while keeping the host MSR unchanged for the entire life of the guests.
      This ensures that TSX remains disabled and also saves MSR reads and
      writes, and it's okay to do because with tsx=off we know that guests will
      not have the HLE and RTM features in their CPUID.  (If userspace sets
      bogus CPUID data, we do not expect HLE and RTM to work in guests anyway).
      
      Cc: stable@vger.kernel.org
      Fixes: cbbaa272 ("KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES")
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      7131636e
  5. Jan 28, 2021
  6. Jan 25, 2021
  7. Jan 21, 2021
  8. Jan 14, 2021
  9. Jan 10, 2021
    • Linus Torvalds's avatar
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.11' of... · 20210a98
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Search for <ncurses.h> in the default header path of HOSTCC
      
       - Tweak the option order to be kind to old BSD awk
      
       - Remove 'kvmconfig' and 'xenconfig' shorthands
      
       - Fix documentation
      
      * tag 'kbuild-fixes-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        Documentation: kbuild: Fix section reference
        kconfig: remove 'kvmconfig' and 'xenconfig' shorthands
        lib/raid6: Let $(UNROLL) rules work with macOS userland
        kconfig: Support building mconf with vendor sysroot ncurses
        kconfig: config script: add a little user help
        MAINTAINERS: adjust GCC PLUGINS after gcc-plugin.sh removal
      20210a98
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 688daed2
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is two driver fixes (megaraid_sas and hisi_sas).
      
        The megaraid one is a revert of a previous revert of a cpu hotplug fix
        which exposed a bug in the block layer which has been fixed in this
        merge window.
      
        The hisi_sas performance enhancement comes from switching to interrupt
        managed completion queues, which depended on the addition of
        devm_platform_get_irqs_affinity() which is now upstream via the irq
        tree in the last merge window"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: hisi_sas: Expose HW queues for v2 hw
        Revert "Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug""
      688daed2
    • Linus Torvalds's avatar
      Merge tag 'block-5.11-2021-01-10' of git://git.kernel.dk/linux-block · ed41fd07
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Missing CRC32 selections (Arnd)
      
       - Fix for a merge window regression with bdev inode init (Christoph)
      
       - bcache fixes
      
       - rnbd fixes
      
       - NVMe pull request from Christoph:
          - fix a race in the nvme-tcp send code (Sagi Grimberg)
          - fix a list corruption in an nvme-rdma error path (Israel Rukshin)
          - avoid a possible double fetch in nvme-pci (Lalithambika Krishnakumar)
          - add the susystem NQN quirk for a Samsung driver (Gopal Tiwari)
          - fix two compiler warnings in nvme-fcloop (James Smart)
          - don't call sleeping functions from irq context in nvme-fc (James Smart)
          - remove an unused argument (Max Gurtovoy)
          - remove unused exports (Minwoo Im)
      
       - Use-after-free fix for partition iteration (Ming)
      
       - Missing blk-mq debugfs flag annotation (John)
      
       - Bdev freeze regression fix (Satya)
      
       - blk-iocost NULL pointer deref fix (Tejun)
      
      * tag 'block-5.11-2021-01-10' of git://git.kerne...
      ed41fd07
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.11-2021-01-10' of git://git.kernel.dk/linux-block · d430adfe
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A bit larger than I had hoped at this point, but it's all changes that
        will be directed towards stable anyway. In detail:
      
         - Fix a merge window regression on error return (Matthew)
      
         - Remove useless variable declaration/assignment (Ye Bin)
      
         - IOPOLL fixes (Pavel)
      
         - Exit and cancelation fixes (Pavel)
      
         - fasync lockdep complaint fix (Pavel)
      
         - Ensure SQPOLL is synchronized with creator life time (Pavel)"
      
      * tag 'io_uring-5.11-2021-01-10' of git://git.kernel.dk/linux-block:
        io_uring: stop SQPOLL submit on creator's death
        io_uring: add warn_once for io_uring_flush()
        io_uring: inline io_uring_attempt_task_drop()
        io_uring: io_rw_reissue lockdep annotations
        io_uring: synchronise ev_posted() with waitqueues
        io_uring: dont kill fasync under completion_lock
        io_uring: trigger eventfd for IOPOLL
        io_uring: Fix return value from alloc_fixed_file_ref_node
        io_uring: Delete useless variable ‘id’ in io_prep_async_work
        io_uring: cancel more aggressively in exit_work
        io_uring: drop file refs after task cancel
        io_uring: patch up IOPOLL overflow_flush sync
        io_uring: synchronise IOPOLL on task_submit fail
      d430adfe
    • Linus Torvalds's avatar
      Merge tag 'usb-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 28318f53
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a number of small USB driver fixes for 5.11-rc3.
      
        Include in here are:
      
         - USB gadget driver fixes for reported issues
      
         - new usb-serial driver ids
      
         - dma from stack bugfixes
      
         - typec bugfixes
      
         - dwc3 bugfixes
      
         - xhci driver bugfixes
      
         - other small misc usb driver bugfixes
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (35 commits)
        usb: dwc3: gadget: Clear wait flag on dequeue
        usb: typec: Send uevent for num_altmodes update
        usb: typec: Fix copy paste error for NVIDIA alt-mode description
        usb: gadget: enable super speed plus
        kcov, usb: hide in_serving_softirq checks in __usb_hcd_giveback_urb
        usb: uas: Add PNY USB Portable SSD to unusual_uas
        usb: gadget: configfs: Preserve function ordering after bind failure
        usb: gadget: select CONFIG_CRC32
        usb: gadget: core: change the comment for usb_gadget_connect
        usb: gadget: configfs: Fix use-after-free issue with udc_name
        usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
        usb: usbip: vhci_hcd: protect shift size
        USB: usblp: fix DMA to stack
        USB: serial: iuu_phoenix: fix DMA from stack
        USB: serial: option: add LongSung M5710 module support
        USB: serial: option: add Quectel EM160R-GL
        USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug
        usb: gadget: f_uac2: reset wMaxPacketSize
        usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression
        usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one
        ...
      28318f53
    • Linus Torvalds's avatar
      Merge tag 'staging-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 4ad9a28f
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are some small staging driver fixes for 5.11-rc3. Nothing major,
        just resolving some reported issues:
      
         - cleanup some remaining mentions of the ION drivers that were
           removed in 5.11-rc1
      
         - comedi driver bugfix
      
         - two error path memory leak fixes
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'staging-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: ION: remove some references to CONFIG_ION
        staging: mt7621-dma: Fix a resource leak in an error handling path
        Staging: comedi: Return -EFAULT if copy_to_user() fails
        staging: spmi: hisi-spmi-controller: Fix some error handling paths
      4ad9a28f
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e07cd2f3
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some small char and misc driver fixes for 5.11-rc3.
      
        The majority here are fixes for the habanalabs drivers, but also in
        here are:
      
         - crypto driver fix
      
         - pvpanic driver fix
      
         - updated font file
      
         - interconnect driver fixes
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (26 commits)
        Fonts: font_ter16x32: Update font with new upstream Terminus release
        misc: pvpanic: Check devm_ioport_map() for NULL
        speakup: Add github repository URL and bug tracker
        MAINTAINERS: Update Georgi's email address
        crypto: asym_tpm: correct zero out potential secrets
        habanalabs: Fix memleak in hl_device_reset
        interconnect: imx8mq: Use icc_sync_state
        interconnect: imx: Remove a useless test
        interconnect: imx: Add a missing of_node_put after of_device_is_available
        interconnect: qcom: fix rpmh link failures
        habanalabs: fix order of status check
        habanalabs: register to pci shutdown callback
        habanalabs: add validation cs counter, fix misplaced counters
        habanalabs/gaudi: retry loading TPC f/w on -EINTR
        habanalabs: adjust pci controller init to new firmware
        habanalabs: update comment in hl_boot_if.h
        habanalabs/gaudi: enhance reset message
        habanalabs: full FW hard reset support
        habanalabs/gaudi: disable CGM at HW initialization
        habanalabs: Revise comment to align with mirror list name
        ...
      e07cd2f3
    • Viresh Kumar's avatar
      Documentation: kbuild: Fix section reference · 5625dcfb
      Viresh Kumar authored
      
      
      Section 3.11 was incorrectly called 3.9, fix it.
      
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      5625dcfb
Loading