<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 19:58:04 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-68437 — drm/imagination: Fit paired fragment job in the correct CCCB</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-68437</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;drm/imagination: Fit paired fragment job in the correct CCCB&lt;/p&gt;
&lt;p&gt;For geometry jobs with a paired fragment job, at the moment, the
DRM scheduler&amp;#39;s prepare_job() callback:&lt;/p&gt;
&lt;p&gt;- checks for internal (driver) dependencies for the geometry job;
- calls into pvr_queue_get_paired_frag_job_dep() to check for external
  dependencies for the fragment job (the two jobs are submitted together
  but the common scheduler code doesn&amp;#39;t know about it, so this needs to
  be done at this point in time);
- calls into the prepare_job() callback again, but for the fragment job,
  to check its internal dependencies as well, passing the fragment job&amp;#39;s
  drm_sched_job and the geometry job&amp;#39;s drm_sched_entity / pvr_queue.&lt;/p&gt;
&lt;p&gt;The problem with the last step is that pvr_queue_prepare_job() doesn&amp;#39;t
always take the mismatched fragment job and geometry queue into account,
in particular when checking whether there is space for the fragment
command to be submitted, so the code ends up checking for space in the
geometry (i.e. wrong) CCCB.
The rest of the nested prepare_job() callback happens to work fine at
the moment as the other internal dependencies are not relevant for a
paired fragment job.&lt;/p&gt;
&lt;p&gt;Move the initialisation of a paired fragment job&amp;#39;s done fence and CCCB
fence to pvr_queue_get_paired_frag_job_dep(), inferring the correct
queue from the fragment job itself.&lt;/p&gt;
&lt;p&gt;This fixes cases where prepare_job() wrongly assumed that there was
enough space f…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;drm/imagination: Fit paired fragment job in the correct CCCB&lt;/p&gt;
&lt;p&gt;For geometry jobs with a paired fragment job, at the moment, the
DRM scheduler&amp;#39;s prepare_job() callback:&lt;/p&gt;
&lt;p&gt;- checks for internal (driver) dependencies for the geometry job;
- calls into pvr_queue_get_paired_frag_job_dep() to check for external
  dependencies for the fragment job (the two jobs are submitted together
  but the common scheduler code doesn&amp;#39;t know about it, so this needs to
  be done at this point in time);
- calls into the prepare_job() callback again, but for the fragment job,
  to check its internal dependencies as well, passing the fragment job&amp;#39;s
  drm_sched_job and the geometry job&amp;#39;s drm_sched_entity / pvr_queue.&lt;/p&gt;
&lt;p&gt;The problem with the last step is that pvr_queue_prepare_job() doesn&amp;#39;t
always take the mismatched fragment job and geometry queue into account,
in particular when checking whether there is space for the fragment
command to be submitted, so the code ends up checking for space in the
geometry (i.e. wrong) CCCB.
The rest of the nested prepare_job() callback happens to work fine at
the moment as the other internal dependencies are not relevant for a
paired fragment job.&lt;/p&gt;
&lt;p&gt;Move the initialisation of a paired fragment job&amp;#39;s done fence and CCCB
fence to pvr_queue_get_paired_frag_job_dep(), inferring the correct
queue from the fragment job itself.&lt;/p&gt;
&lt;p&gt;This fixes cases where prepare_job() wrongly assumed that there was
enough space f…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-68437</guid>
    </item>
  </channel>
</rss>
