CVE-2026-90424

iommu/tegra241-cmdqv: Fix VINTF0 leak on the init-failure path

State
Published
Severity
Not scored
Published
Sep 17, 2026
Updated
Oct 21, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 to before 05a1405d0cba3d8253261b02eb65e5cd3ca09ab3Affected
  • 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 to before 1d2271d7df5230e4ce36bdafd17524bd004f3b3fAffected
  • 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 to before 417190bde0fda4ee857999a722ca90163fbec587Affected
  • 918eb5c856f6ce4cf93b4b38e4b5e156905c5943 to before f40f3144477314b489e4bc209c06cb51679fe82bAffected
LinuxLinux
  • 6.12Affected
  • before 6.12Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.52 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.