CVE Catalog

CVE-2025-37907

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel, the accel/ivpu driver has a deadlock in ivpu_job_submit due to reversed lock ordering. The thread aborting jobs first takes the submitted_jobs lock and then file_priv, while the job submission thread takes them in the opposite order.

Risk Assessment

The deadlock can hang the accelerator driver and make the NPU device unavailable, leading to denial of service for applications using acceleration. It may require a system restart.

Recommendation

Update the Linux kernel to a version containing the fix that changes the lock order in ivpu_job_submit(). Recommended for systems with an Intel VPU accelerator.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: accel/ivpu: Fix locking order in ivpu_job_submit Fix deadlock in job submission and abort handling. When a thread aborts currently executing jobs due to a fault, it first locks the global lock protecting submitted_jobs (#1). After the last job is destroyed, it proceeds to release the related context and locks file_priv (#2). Meanwhile, in the job submission thread, the file_priv lock (#2) is taken first, and then the submitted_jobs lock (#1) is obtained when a job is added to the submitted jobs list. CPU0 CPU1 ---- ---- (for example due to a fault) (jobs submissions keep coming) lock(&vdev->submitted_jobs_lock) #1 ivpu_jobs_abort_all() job_destroy() lock(&file_priv->lock) #2 lock(&vdev->submitted_jobs_lock) #1 file_priv_release() lock(&vdev->context_list_lock) lock(&file_priv->lock) #2 This order of locking causes a deadlock. To resolve this issue, change the order of locking in ivpu_job_submit().

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