Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-90426

iommu/tegra241-cmdqv: Free the error IRQ before tearing down VINTFs

Description

In the Linux kernel, the following vulnerability has been resolved: iommu/tegra241-cmdqv: Free the error IRQ before tearing down VINTFs tegra241_cmdqv_remove() tears each VINTF down first, then calls free_irq(). Tearing a VINTF down frees vintf0 and clears cmdqv->vintfs[0]. An error in that window makes tegra241_cmdqv_isr() read the stale slot and hand it to tegra241_vintf0_handle_error(), which dereferences a NULL or freed pointer. Free the IRQ before tearing the VINTFs down. free_irq() waits for in-flight handlers to finish and blocks new ones, so no ISR can observe a VINTF as it is torn down. Note: a user-owned VINTF (viommu) could outlive this teardown, which unmaps cmdqv->base and frees cmdqv->vintfs, so a later viommu close then touches freed memory. This is neither introduced nor fixed here: a physical IOMMU is not a pluggable device, so iommufd by design holds no reference on the one behind a viommu, and this teardown is not expected while that viommu is still alive.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 to < 076a4f5b1fc2016b973a12bc2ebb9b730e5e1e48affected
  • 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 to < 735698e81f798b4c02dcb6291ffbdd1b962c8c66affected
  • 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 to < 421f5ab135cd4a1353891e5bf2602cfc3c01afc7affected
  • 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 to < 61f0d437988e5730b04442f6a7d30a9907339f2aaffected

Linux Linux

Default version status: affected

  • 6.12affected
  • 0 to < 6.12unaffected
  • 6.12.110 to ≤ 6.12.*unaffected
  • 6.18.52 to ≤ 6.18.*unaffected
  • 7.2.6 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References