Skip to main content
← All vulnerabilities
CVE-2025-40160

xen/events: Return -EEXIST for bound VIRQs

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.113, 6.12.54, 6.17.4
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: xen/events: Return -EEXIST for bound VIRQs Change find_virq() to return -EEXIST when a VIRQ is bound to a different CPU than the one passed in. With that, remove the BUG_ON() from bind_virq_to_irq() to propogate the error upwards. Some VIRQs are per-cpu, but others are per-domain or global. Those must be bound to CPU0 and can then migrate elsewhere. The lookup for per-domain and global will probably fail when migrated off CPU 0, especially when the current CPU is tracked. This now returns -EEXIST instead of BUG_ON(). A second call to bind a per-domain or global VIRQ is not expected, but make it non-fatal to avoid trying to look up the irq, since we don't know which per_cpu(virq_to_irq) it will be in.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    Version range not reported

  • Linux Linux

    3.2

  • KernelLinux

    From 3.2.0 · fixed in 6.6.113; From 6.7.0 · fixed in 6.12.54; From 6.13.0 · fixed in 6.17.4

References 5

git.kernel.org