<?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://db.gcve.eu</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>Sat, 24 Oct 2026 12:48:07 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-98919</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-98919</link>
      <description>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;drm/xe: harden adjust_idledly() against divide-by-zero and overflow&lt;/p&gt;
&lt;p&gt;adjust_idledly() has several corner-case issues flagged during review:&lt;/p&gt;
&lt;p&gt;1. If xe_gt_clock_init() failed to recognise the crystal clock,
     gt-&amp;gt;info.timestamp_base is 0, which makes idledly_units_ps also 0.
     The subsequent DIV_ROUND_CLOSEST(..., idledly_units_ps) is then a
     divide-by-zero and panics the kernel.&lt;/p&gt;
&lt;p&gt;2. The tick-to-ns conversions are done in u32:
        idledly * idledly_units_ps, (maxcnt - 1) * 1000
     Both overflow u32 before DIV_ROUND_CLOSEST() sees them.&lt;/p&gt;
&lt;p&gt;3. If IDLE_WAIT_TIME reads back as 0, maxcnt evaluates to 0 and
     the maxcnt - 1 clamp wraps to 0xFFFFFFFF in u32.&lt;/p&gt;
&lt;p&gt;4. The register only stores whole ticks, so the clamped ns value has
     to be converted to ticks and back. DIV_ROUND_CLOSEST() can round
     that conversion up past maxcnt:&lt;/p&gt;
&lt;p&gt;maxcnt = 640 ns, one tick = 666664 ps&lt;/p&gt;
&lt;p&gt;clamp:        maxcnt - 1        = 639 ns
       ns -&amp;gt; ticks:  639000 / 666664   = 0.958 -&amp;gt; rounds to 1 tick
       tick -&amp;gt; ns:    1 * 666664 / 1000 = 667 ns&lt;/p&gt;
&lt;p&gt;667 ns is programmed into RING_IDLEDLY, but 667 &amp;gt;= maxcnt (640),
     so xe_gt_WARN_ON() fires again on every subsequent init.&lt;/p&gt;
&lt;p&gt;Return early if timestamp_base is 0 (the unknown-crystal path).
Do the conversions in u64 via the *_ULL() helpers so they cannot wrap.
Clamp with a floor (DIV_ROUND_DOWN_ULL) so the programmed delay stays
strictly below maxcn…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;drm/xe: harden adjust_idledly() against divide-by-zero and overflow&lt;/p&gt;
&lt;p&gt;adjust_idledly() has several corner-case issues flagged during review:&lt;/p&gt;
&lt;p&gt;1. If xe_gt_clock_init() failed to recognise the crystal clock,
     gt-&amp;gt;info.timestamp_base is 0, which makes idledly_units_ps also 0.
     The subsequent DIV_ROUND_CLOSEST(..., idledly_units_ps) is then a
     divide-by-zero and panics the kernel.&lt;/p&gt;
&lt;p&gt;2. The tick-to-ns conversions are done in u32:
        idledly * idledly_units_ps, (maxcnt - 1) * 1000
     Both overflow u32 before DIV_ROUND_CLOSEST() sees them.&lt;/p&gt;
&lt;p&gt;3. If IDLE_WAIT_TIME reads back as 0, maxcnt evaluates to 0 and
     the maxcnt - 1 clamp wraps to 0xFFFFFFFF in u32.&lt;/p&gt;
&lt;p&gt;4. The register only stores whole ticks, so the clamped ns value has
     to be converted to ticks and back. DIV_ROUND_CLOSEST() can round
     that conversion up past maxcnt:&lt;/p&gt;
&lt;p&gt;maxcnt = 640 ns, one tick = 666664 ps&lt;/p&gt;
&lt;p&gt;clamp:        maxcnt - 1        = 639 ns
       ns -&amp;gt; ticks:  639000 / 666664   = 0.958 -&amp;gt; rounds to 1 tick
       tick -&amp;gt; ns:    1 * 666664 / 1000 = 667 ns&lt;/p&gt;
&lt;p&gt;667 ns is programmed into RING_IDLEDLY, but 667 &amp;gt;= maxcnt (640),
     so xe_gt_WARN_ON() fires again on every subsequent init.&lt;/p&gt;
&lt;p&gt;Return early if timestamp_base is 0 (the unknown-crystal path).
Do the conversions in u64 via the *_ULL() helpers so they cannot wrap.
Clamp with a floor (DIV_ROUND_DOWN_ULL) so the programmed delay stays
strictly below maxcn…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-98919</guid>
    </item>
    <item>
      <title>GHSA-wghv-7vwx-fc47</title>
      <link>https://db.gcve.eu/vuln/ghsa-wghv-7vwx-fc47</link>
      <description>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;drm/xe: harden adjust_idledly() against divide-by-zero and overflow&lt;/p&gt;
&lt;p&gt;adjust_idledly() has several corner-case issues flagged during review:&lt;/p&gt;
&lt;p&gt;1. If xe_gt_clock_init() failed to recognise the crystal clock,
     gt-&amp;gt;info.timestamp_base is 0, which makes idledly_units_ps also 0.
     The subsequent DIV_ROUND_CLOSEST(..., idledly_units_ps) is then a
     divide-by-zero and panics the kernel.&lt;/p&gt;
&lt;p&gt;2. The tick-to-ns conversions are done in u32:
        idledly * idledly_units_ps, (maxcnt - 1) * 1000
     Both overflow u32 before DIV_ROUND_CLOSEST() sees them.&lt;/p&gt;
&lt;p&gt;3. If IDLE_WAIT_TIME reads back as 0, maxcnt evaluates to 0 and
     the maxcnt - 1 clamp wraps to 0xFFFFFFFF in u32.&lt;/p&gt;
&lt;p&gt;4. The register only stores whole ticks, so the clamped ns value has
     to be converted to ticks and back. DIV_ROUND_CLOSEST() can round
     that conversion up past maxcnt:&lt;/p&gt;
&lt;p&gt;maxcnt = 640 ns, one tick = 666664 ps&lt;/p&gt;
&lt;p&gt;clamp:        maxcnt - 1        = 639 ns
       ns -&amp;gt; ticks:  639000 / 666664   = 0.958 -&amp;gt; rounds to 1 tick
       tick -&amp;gt; ns:    1 * 666664 / 1000 = 667 ns&lt;/p&gt;
&lt;p&gt;667 ns is programmed into RING_IDLEDLY, but 667 &amp;gt;= maxcnt (640),
     so xe_gt_WARN_ON() fires again on every subsequent init.&lt;/p&gt;
&lt;p&gt;Return early if timestamp_base is 0 (the unknown-crystal path).
Do the conversions in u64 via the *_ULL() helpers so they cannot wrap.
Clamp with a floor (DIV_ROUND_DOWN_ULL) so the programmed delay stays
strictly below maxcn…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;drm/xe: harden adjust_idledly() against divide-by-zero and overflow&lt;/p&gt;
&lt;p&gt;adjust_idledly() has several corner-case issues flagged during review:&lt;/p&gt;
&lt;p&gt;1. If xe_gt_clock_init() failed to recognise the crystal clock,
     gt-&amp;gt;info.timestamp_base is 0, which makes idledly_units_ps also 0.
     The subsequent DIV_ROUND_CLOSEST(..., idledly_units_ps) is then a
     divide-by-zero and panics the kernel.&lt;/p&gt;
&lt;p&gt;2. The tick-to-ns conversions are done in u32:
        idledly * idledly_units_ps, (maxcnt - 1) * 1000
     Both overflow u32 before DIV_ROUND_CLOSEST() sees them.&lt;/p&gt;
&lt;p&gt;3. If IDLE_WAIT_TIME reads back as 0, maxcnt evaluates to 0 and
     the maxcnt - 1 clamp wraps to 0xFFFFFFFF in u32.&lt;/p&gt;
&lt;p&gt;4. The register only stores whole ticks, so the clamped ns value has
     to be converted to ticks and back. DIV_ROUND_CLOSEST() can round
     that conversion up past maxcnt:&lt;/p&gt;
&lt;p&gt;maxcnt = 640 ns, one tick = 666664 ps&lt;/p&gt;
&lt;p&gt;clamp:        maxcnt - 1        = 639 ns
       ns -&amp;gt; ticks:  639000 / 666664   = 0.958 -&amp;gt; rounds to 1 tick
       tick -&amp;gt; ns:    1 * 666664 / 1000 = 667 ns&lt;/p&gt;
&lt;p&gt;667 ns is programmed into RING_IDLEDLY, but 667 &amp;gt;= maxcnt (640),
     so xe_gt_WARN_ON() fires again on every subsequent init.&lt;/p&gt;
&lt;p&gt;Return early if timestamp_base is 0 (the unknown-crystal path).
Do the conversions in u64 via the *_ULL() helpers so they cannot wrap.
Clamp with a floor (DIV_ROUND_DOWN_ULL) so the programmed delay stays
strictly below maxcn…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-wghv-7vwx-fc47</guid>
    </item>
    <item>
      <title>msrc_CVE-2026-98919 — drm/xe: harden adjust_idledly() against divide-by-zero and overflow</title>
      <link>https://db.gcve.eu/vuln/msrc_cve-2026-98919</link>
      <description>msrc_CVE-2026-98919</description>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/msrc_cve-2026-98919</guid>
    </item>
  </channel>
</rss>
