<?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>Mon, 05 Oct 2026 04:32:46 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-46263 — drm/amd/display: Fix out-of-bounds stream encoder index v3</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-46263</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/amd/display: Fix out-of-bounds stream encoder index v3&lt;/p&gt;
&lt;p&gt;eng_id can be negative and that stream_enc_regs[]
can be indexed out of bounds.&lt;/p&gt;
&lt;p&gt;eng_id is used directly as an index into stream_enc_regs[], which has
only 5 entries. When eng_id is 5 (ENGINE_ID_DIGF) or negative, this can
access memory past the end of the array.&lt;/p&gt;
&lt;p&gt;Add a bounds check using ARRAY_SIZE() before using eng_id as an index.
The unsigned cast also rejects negative values.&lt;/p&gt;
&lt;p&gt;This avoids out-of-bounds access.&lt;/p&gt;
&lt;p&gt;Fixes the below smatch error:
dcn*_resource.c: stream_encoder_create() may index
stream_enc_regs[eng_id] out of bounds (size 5).&lt;/p&gt;
&lt;p&gt;drivers/gpu/drm/amd/amdgpu/../display/dc/resource/dcn351/dcn351_resource.c
    1246 static struct stream_encoder *dcn35_stream_encoder_create(
    1247         enum engine_id eng_id,
    1248         struct dc_context *ctx)
    1249 {&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;1255
    1256         /* Mapping of VPG, AFMT, DME register blocks to DIO block instance */
    1257         if (eng_id &amp;lt;= ENGINE_ID_DIGF) {&lt;/p&gt;
&lt;p&gt;ENGINE_ID_DIGF is 5.  should &amp;lt;= be &amp;lt;?&lt;/p&gt;
&lt;p&gt;Unrelated but, ugh, why is Smatch saying that &amp;#34;eng_id&amp;#34; can be negative?
end_id is type signed long, but there are checks in the caller which prevent it from being negative.&lt;/p&gt;
&lt;p&gt;1258                 vpg_inst = eng_id;
    1259                 afmt_inst = eng_id;
    1260         } else
    1261                 return NULL;
    1262&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;1281
    1282         dcn35_dio_stream_enc…&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/amd/display: Fix out-of-bounds stream encoder index v3&lt;/p&gt;
&lt;p&gt;eng_id can be negative and that stream_enc_regs[]
can be indexed out of bounds.&lt;/p&gt;
&lt;p&gt;eng_id is used directly as an index into stream_enc_regs[], which has
only 5 entries. When eng_id is 5 (ENGINE_ID_DIGF) or negative, this can
access memory past the end of the array.&lt;/p&gt;
&lt;p&gt;Add a bounds check using ARRAY_SIZE() before using eng_id as an index.
The unsigned cast also rejects negative values.&lt;/p&gt;
&lt;p&gt;This avoids out-of-bounds access.&lt;/p&gt;
&lt;p&gt;Fixes the below smatch error:
dcn*_resource.c: stream_encoder_create() may index
stream_enc_regs[eng_id] out of bounds (size 5).&lt;/p&gt;
&lt;p&gt;drivers/gpu/drm/amd/amdgpu/../display/dc/resource/dcn351/dcn351_resource.c
    1246 static struct stream_encoder *dcn35_stream_encoder_create(
    1247         enum engine_id eng_id,
    1248         struct dc_context *ctx)
    1249 {&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;1255
    1256         /* Mapping of VPG, AFMT, DME register blocks to DIO block instance */
    1257         if (eng_id &amp;lt;= ENGINE_ID_DIGF) {&lt;/p&gt;
&lt;p&gt;ENGINE_ID_DIGF is 5.  should &amp;lt;= be &amp;lt;?&lt;/p&gt;
&lt;p&gt;Unrelated but, ugh, why is Smatch saying that &amp;#34;eng_id&amp;#34; can be negative?
end_id is type signed long, but there are checks in the caller which prevent it from being negative.&lt;/p&gt;
&lt;p&gt;1258                 vpg_inst = eng_id;
    1259                 afmt_inst = eng_id;
    1260         } else
    1261                 return NULL;
    1262&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;1281
    1282         dcn35_dio_stream_enc…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-46263</guid>
    </item>
  </channel>
</rss>
