CVE-2025-39721

crypto: qat - flush misc workqueue during device shutdown

State
Published
Severity
Not scored
Published
Sep 5, 2025
Updated
Oct 15, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

crypto: qat - flush misc workqueue during device shutdown

Repeated loading and unloading of a device specific QAT driver, for example qat_4xxx, in a tight loop can lead to a crash due to a use-after-free scenario. This occurs when a power management (PM) interrupt triggers just before the device-specific driver (e.g., qat_4xxx.ko) is unloaded, while the core driver (intel_qat.ko) remains loaded.

Since the driver uses a shared workqueue (`qat_misc_wq`) across all devices and owned by intel_qat.ko, a deferred routine from the device-specific driver may still be pending in the queue. If this routine executes after the driver is unloaded, it can dereference freed memory, resulting in a page fault and kernel crash like the following:

BUG: unable to handle page fault for address: ffa000002e50a01c #PF: supervisor read access in kernel mode RIP: 0010:pm_bh_handler+0x1d2/0x250 [intel_qat] Call Trace: pm_bh_handler+0x1d2/0x250 [intel_qat] process_one_work+0x171/0x340 worker_thread+0x277/0x3a0 kthread+0xf0/0x120 ret_from_fork+0x2d/0x50

To prevent this, flush the misc workqueue during device shutdown to ensure that all pending work items are completed before the driver is unloaded.

Note: This approach may slightly increase shutdown latency if the workqueue contains jobs from other devices, but it ensures correctness and stability.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • e5745f34113b758b45d134dec04a7df94dc67131 to before fa4c14a82747886d333d8baef0d26da86ba1ccf7Affected
  • e5745f34113b758b45d134dec04a7df94dc67131 to before 5858448a6c65d8ee3f8600570d3ce19febcb33beAffected
  • e5745f34113b758b45d134dec04a7df94dc67131 to before fe546f5c50fc474daca6bee72caa7ab68a74c33dAffected
  • e5745f34113b758b45d134dec04a7df94dc67131 to before e59a52e429e13df3feb34f4853a8e36d121ed937Affected
  • e5745f34113b758b45d134dec04a7df94dc67131 to before 3d4df408ba9bad2b205c7fb8afc1836a6a4ca88aAffected
LinuxLinux
  • 5.18Affected
  • before 5.18Not affected
  • 6.1.162 through 6.1.*Not affected
  • 6.6.103 through 6.6.*Not affected
  • 6.12.44 through 6.12.*Not affected
  • 6.16.4 through 6.16.*Not affected
  • 6.17 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.