CVE-2026-68281: drm/imagination: Count paired job fence as dependency in prepare_job()
In the Linux kernel, the following vulnerability has been resolved:
drm/imagination: Count paired job fence as dependency in preparejob()
The DRM scheduler's preparejob() callback counts the remaining non-signaled native dependencies for a job, preventing job submission until those (plus job data and fence update) can fit in the job queue's CCCB.
This means checking which dependencies can be waited upon in the firmware, i.e. whether they are backed by a UFO object, i.e. whether their drmschedfence::parent has been assigned to a pvrqueuefence::base fence. That happens when the job owning the fence is submitted to the firmware.
Paired geometry and fragment jobs are submitted at the same time, which means the dependency between them can't be checked this way before submission.
Update jobcountremainingnativedeps() to take into account the dependency between paired jobs.
This fixes cases where preparejob() underestimated the space left in an almost full fragment CCCB, wrongly unblocking runjob(), which then returned early without writing the full sequence of commands to the CCCB.
The above lead to kernel warnings such as the following and potentially job timeouts (depending on waiters on the missing commands):
[ 375.702979] WARNING: drivers/gpu/drm/imagination/pvrcccb.c:178 at pvrcccbwritecommandwithheader+0x2c4/0x330 [powervr], CPU#1: kworker/u16:3/47 [ 375.703160] Modules linked in: [ 375.703571] CPU: 1 UID: 0 PID: 47 Comm: kworker/u16:3 Tainted: G W 7.0.0-rc2-g817eb6b11ad5 #40 PREEMPT [ 375.703613] Tainted: [W]=WARN [ 375.703627] Hardware name: Texas Instruments AM625 SK (DT) [ 375.703645] Workqueue: powervr-sched drmschedrunjobwork [gpusched] [ 375.703741] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 375.703764] pc : pvrcccbwritecommandwithheader+0x2c4/0x330 [powervr] [ 375.703847] lr : pvrqueuesubmitjobtocccb+0x578/0xa70 [powervr] [ 375.703921] sp : ffff800084a97650 [ 375.703934] x29: ffff800084a97740 x28: 0000000000000958 x27: ffff80008565d000 [ 375.703979] x26: 0000000000000030 x25: ffff800084a97680 x24: 0000000000001000 [ 375.704017] x23: ffff800084a97820 x22: 1ffff00010952ecc x21: 0000000000000008 [ 375.704056] x20: 00000000000006a8 x19: ffff00002ff7da88 x18: 0000000000000000 [ 375.704093] x17: 0000000020020000 x16: 0000000000020000 x15: 0000000000000000 [ 375.704132] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 375.704168] x11: 000000000000f2f2 x10: 00000000f3000000 x9 : 00000000f3f3f3f3 [ 375.704206] x8 : 00000000f2f2f200 x7 : ffff700010952ecc x6 : 0000000000000008 [ 375.704243] x5 : 0000000000000000 x4 : 1ffff00010acba00 x3 : 0000000000000000 [ 375.704279] x2 : 0000000000000007 x1 : 0000000000000fff x0 : 000000000000002f [ 375.704317] Call trace: [ 375.704331] pvrcccbwritecommandwithheader+0x2c4/0x330 [powervr] (P) [ 375.704411] pvrqueuesubmitjobtocccb+0x578/0xa70 [powervr] [ 375.704487] pvrqueuerunjob+0x3a4/0x990 [powervr] [ 375.704562] drmschedrunjobwork+0x580/0xd48 [gpusched] [ 375.704623] processonework+0x520/0x1288 [ 375.704658] workerthread+0x3f0/0xb3c [ 375.704680] kthread+0x334/0x3d8 [ 375.704706] retfromfork+0x10/0x20 [ 375.704736] ---[ end trace 0000000000000000 ]---
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68281?
CVE-2026-68281 has a risk rating of 37.
What is the nature of CVE-2026-68281?
CVE-2026-68281 involves a vulnerability in the Linux kernel related to the DRM scheduler's prepare_job() callback.
How do I fix CVE-2026-68281?
To fix CVE-2026-68281, update your Linux kernel to the patched version provided by the maintainers.
What systems are affected by CVE-2026-68281?
CVE-2026-68281 affects systems running specific versions of the Linux kernel that implement the DRM scheduler.
When was CVE-2026-68281 published?
CVE-2026-68281 was published on August 10, 2026.