CVE Catalog

CVE-2026-90424

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the iommu/tegra241-cmdqv driver leaks VINTF0 on the init-failure path. When tegra241_cmdqv_init_vintf() fails or a later VCMDQ preallocation fails, VINTF0 is not properly freed because the ownership decision relies on an incorrectly read hardware state.

Risk Assessment

A kernel memory leak can gradually exhaust resources and cause system instability on platforms using this IOMMU. Additionally, mutex_destroy() and ida_destroy() being called on uninitialized fields may cause memory corruption.

Recommendation

Update the Linux kernel to a version containing the fix that determines VINTF0 ownership based on vintf->idx instead of the hyp_own flag. If updating is not possible, consider restricting use of this driver.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: iommu/tegra241-cmdqv: Fix VINTF0 leak on the init-failure path tegra241_cmdqv_init_structures() allocates VINTF0 with kzalloc_obj(), inits it, and preallocates its logical VCMDQs. Two of its error paths leak. When tegra241_cmdqv_init_vintf() fails it returns before VINTF0 reaches the cmdqv->vintfs[] array, so the devres unwind on probe failure cannot reach it; free it directly there. A later VCMDQ preallocation failure instead leaves VINTF0 published, and so this time the unwind does reach tegra241_cmdqv_remove_vintf(), which then frees it from vintf->hyp_own. But tegra241_vintf_hw_init() sets that flag only afterward, from a HW read-back, so the still-uninited VINTF0 reads as guest-owned and leaks, with mutex_destroy() and ida_destroy() run on fields it never set up. Decide ownership from vintf->idx instead, the index assigned when its id is allocated: idx 0 is the kernel-owned VINTF0, while idx >= 1 marks a guest VINTF. So the in-kernel free decision in tegra241_cmdqv_remove_vintf() and tegra241_vintf_free_lvcmdq() now keys on idx too, and hyp_own stays a pure HW-readback state.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS