CVE-2026-74734

firewire: ohci: fix NULL pointer dereference in ar_context_release

State
Published
Severity
Not scored
Published
Aug 26, 2026
Updated
Oct 21, 2026
Reserved
Aug 15, 2026

Read the record on cve.org

Description

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

firewire: ohci: fix NULL pointer dereference in ar_context_release

During the error handling path of the driver's probe function, a NULL pointer dereference can occur in ar_context_release().

When pci_probe() fails early (e.g., if pcim_enable_device() or MMIO mapping fails), the devres cleanup mechanism invokes release_ohci(). This function unconditionally calls ar_context_release() to clean up the asynchronous receive contexts. However, if ar_context_init() was not yet called, ctx->ohci remains NULL (as the fw_ohci structure is zero-initialized by devres_alloc()).

ar_context_release() immediately dereferences ctx->ohci to get the dev pointer before checking if the context was actually initialized, leading to a crash:

Oops: general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] RIP: 0010:ar_context_release+0x3f/0x380 drivers/firewire/ohci.c:543 Call Trace: release_ohci+0x3f/0x60 drivers/firewire/ohci.c:3567 release_nodes drivers/base/devres.c:546 [inline] devres_release_all+0x1a8/0x260 drivers/base/devres.c:576 device_unbind_cleanup drivers/base/dd.c:597 [inline] really_probe+0x451/0xae0 drivers/base/dd.c:772

To fix this, move the assignment of the dev pointer after the !ctx->buffer check. If ctx->buffer is NULL, it indicates that the context was never successfully initialized and there is nothing to release, safely avoiding the dereference of the uninitialized ctx->ohci pointer.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 5716e58aecdd4f7225c2e46ce903a839fc54f22f to before 3770a4794a14331c8ca6a674e49c021827521c2cAffected
  • 5716e58aecdd4f7225c2e46ce903a839fc54f22f to before ca2fa74f3200ced6e0a940753ad99844c42ad7c8Affected
  • 5716e58aecdd4f7225c2e46ce903a839fc54f22f to before ed5470771c7ed7f959230c4697f316af83426a90Affected
  • 5716e58aecdd4f7225c2e46ce903a839fc54f22f to before 7d228ba43279de2d191f25e139fad166409c2c06Affected
  • 5716e58aecdd4f7225c2e46ce903a839fc54f22f to before 42d217add8d80d6e7d9f58f80d11ea9b07ea113eAffected
LinuxLinux
  • 6.5Affected
  • before 6.5Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.46 through 6.18.*Not affected
  • 7.1.10 through 7.1.*Not affected
  • 7.2 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.