CVE-2026-80896

CVE-2026-80896

published September 4, 2026

CVSS
—
EPSS
0%
Percentile
10.2
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

mshv: Fix race in mshv_irqfd_deassign

mshv_irqfd_deactivate() and the hlist traversal of pt_irqfds_list

require pt->pt_irqfds_lock to be held, but mshv_irqfd_deassign()

omits it. This races with the EPOLLHUP path in mshv_irqfd_wakeup(),

which does take the lock before calling mshv_irqfd_deactivate().

Additionally, mshv_irqfd_deactivate() uses hlist_del() which poisons

the node pointers rather than resetting them. Since

mshv_irqfd_is_active() relies on hlist_unhashed() (checks pprev ==

NULL), a poisoned node still appears active. If a concurrent path calls

mshv_irqfd_deactivate() again on the same irqfd, the guard fails to

prevent a double hlist_del() on poisoned pointers.

Fix both issues:

- Add the missing spin_lock_irq/spin_unlock_irq around the list

traversal in mshv_irqfd_deassign(), matching mshv_irqfd_release().

- Use hlist_del_init() instead of hlist_del() so the node is properly

marked as unhashed after removal, making the is_active guard reliable.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00206 · 10.2th percentile
Published
2026-09-04T22:17Z
References (3)
EPSS history
Timeline
  • 06 SEP 03:33Z
    EPSS moved — → 0%
    epss
  • 04 SEP 17:11Z
    mshv: Fix race in mshv_irqfd_deassign
    cvelistv5