CVE-2025-37907

accel/ivpu: Fix locking order in ivpu_job_submit

published May 20, 2025

CVSS
—
EPSS
0%
Percentile
4.0
In the wild
Unconfirmed
What it is

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().

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00152 · 4.0th percentile
Published
2025-05-20T15:21Z
EPSS history
Timeline
  • 20 MAY 15:21Z
    accel/ivpu: Fix locking order in ivpu_job_submit
    cvelistv5