Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-64376

firmware_loader: fix device reference leak in firmware_upload_register()

Description

In the Linux kernel, the following vulnerability has been resolved: firmware_loader: fix device reference leak in firmware_upload_register() firmware_upload_register() -> fw_create_instance() -> device_initialize() After fw_create_instance() succeeds, the lifetime of the embedded struct device is expected to be managed through the device core reference counting, since fw_create_instance() has already called device_initialize(). In firmware_upload_register(), if alloc_lookup_fw_priv() fails after fw_create_instance() succeeds, the code reaches free_fw_sysfs and frees fw_sysfs directly instead of releasing the device reference with put_device(). This may leave the reference count of the embedded struct device unbalanced, resulting in a refcount leak. The issue was identified by a static analysis tool I developed and confirmed by manual review. Fix this by using put_device(fw_dev) in the failure path and letting fw_dev_release() handle the final cleanup, instead of freeing the instance directly from the error path.

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

  • 97730bbb242cde22b7140acd202ffd88823886c9 to < 517676ec7dfca064e08f94007a4abd21969de0a0affected
  • 97730bbb242cde22b7140acd202ffd88823886c9 to < 46d403da376a8b7c1187193294953816e1a8d7feaffected
  • 97730bbb242cde22b7140acd202ffd88823886c9 to < 2619b47a0c8114eef980a56ade7e3ef4b58eb384affected
  • 97730bbb242cde22b7140acd202ffd88823886c9 to < 92f41769e5fd16bcd9ba97500d0517332e0a5b45affected
  • 97730bbb242cde22b7140acd202ffd88823886c9 to < 15432f19562fdb9199cce6d9fc24db12c71ed574affected
  • 97730bbb242cde22b7140acd202ffd88823886c9 to < 896df22ee57648b0c505bd76ddbc6b2341834696affected

Linux Linux

Default version status: affected

  • 5.19affected
  • 0 to < 5.19unaffected
  • 6.1.178 to ≤ 6.1.*unaffected
  • 6.6.145 to ≤ 6.6.*unaffected
  • 6.12.96 to ≤ 6.12.*unaffected
  • 6.18.39 to ≤ 6.18.*unaffected
  • 7.1.4 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References