public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] mshv: Bug fixes across the mshv_root module
@ 2026-04-29 18:17 Stanislav Kinsburskii
  2026-04-29 18:17 ` [PATCH 01/10] mshv: Fix IRQ leak and type hazards in hv_call_modify_spa_host_access Stanislav Kinsburskii
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Stanislav Kinsburskii @ 2026-04-29 18:17 UTC (permalink / raw)
  To: kys, haiyangz, wei.liu, decui, longli; +Cc: linux-hyperv, linux-kernel

 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)

---

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(-)


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

end of thread, other threads:[~2026-04-30 14:40 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-29 18:17 [PATCH 00/10] mshv: Bug fixes across the mshv_root module Stanislav Kinsburskii
2026-04-29 18:17 ` [PATCH 01/10] mshv: Fix IRQ leak and type hazards in hv_call_modify_spa_host_access Stanislav Kinsburskii
2026-04-29 18:17 ` [PATCH 02/10] mshv: Fix potential integer overflow in mshv_region_create Stanislav Kinsburskii
2026-04-29 18:17 ` [PATCH 03/10] mshv: Fix missing lock in mshv_irqfd_deassign Stanislav Kinsburskii
2026-04-29 18:17 ` [PATCH 04/10] mshv: Fix broken seqcount read protection Stanislav Kinsburskii
2026-04-29 18:18 ` [PATCH 05/10] mshv: Fix level-triggered check on uninitialized data Stanislav Kinsburskii
2026-04-29 18:18 ` [PATCH 06/10] mshv: Fix duplicate GSI detection for GSI 0 Stanislav Kinsburskii
2026-04-29 18:18 ` [PATCH 07/10] mshv: Fix use-after-RCU in mshv_portid_lookup Stanislav Kinsburskii
2026-04-29 18:18 ` [PATCH 08/10] mshv: Use kfree_rcu in mshv_portid_free Stanislav Kinsburskii
2026-04-29 18:18 ` [PATCH 09/10] mshv: Add missing vp_index bounds check in intercept ISR Stanislav Kinsburskii
2026-04-29 18:18 ` [PATCH 10/10] mshv: Fix missing error code on VP allocation failure Stanislav Kinsburskii
2026-04-30  2:18 ` [PATCH 00/10] mshv: Bug fixes across the mshv_root module Mukesh R
2026-04-30 14:40   ` Stanislav Kinsburskii

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox