On 4/29/26 11:17, Stanislav Kinsburskii wrote:
  This series addresses bugs found during a review of the mshv_root module
  introduced by commit 621191d709b14 ("Drivers: hv: Introduce mshv_root
  module to expose /dev/mshv to VMMs").

  The fixes range from data corruption and use-after-free to silent
  functional failures:

   - IRQ state leak and type truncation in hypercall helpers
     (hv_call_modify_spa_host_access)
   - Integer overflow on userspace-controlled allocation size
     (mshv_region_create)
   - Missing locking, broken seqcount read protection, and a check on
     uninitialized data in the irqfd path ? the latter makes
     level-triggered interrupt resampling completely non-functional
   - Duplicate GSI 0 detection using the wrong predicate
   - Use-after-RCU in port ID lookup
   - Missing VP index bounds check in intercept ISR (OOB in interrupt
     context)
   - Missing error code on VP allocation failure (silent success to
     userspace)

Lot of changes here, curious, how were all these discovered
suddenly? Stress testing, internal/external?  Or reported by
copilot/sashiko/etc..

How were the fixes tested?

Thanks,
-Mukesh


---

Stanislav Kinsburskii (10):
       mshv: Fix IRQ leak and type hazards in hv_call_modify_spa_host_access
       mshv: Fix potential integer overflow in mshv_region_create
       mshv: Fix missing lock in mshv_irqfd_deassign
       mshv: Fix broken seqcount read protection
       mshv: Fix level-triggered check on uninitialized data
       mshv: Fix duplicate GSI detection for GSI 0
       mshv: Fix use-after-RCU in mshv_portid_lookup
       mshv: Use kfree_rcu in mshv_portid_free
       mshv: Add missing vp_index bounds check in intercept ISR
       mshv: Fix missing error code on VP allocation failure


  drivers/hv/mshv_eventfd.c      |   75 ++++++++++++++++++++++------------------
  drivers/hv/mshv_irq.c          |    2 +
  drivers/hv/mshv_portid_table.c |    6 +--
  drivers/hv/mshv_regions.c      |    2 +
  drivers/hv/mshv_root_hv_call.c |   18 +++-------
  drivers/hv/mshv_root_main.c    |    4 ++
  drivers/hv/mshv_synic.c        |    4 ++
  7 files changed, 59 insertions(+), 52 deletions(-)



Reply via email to