<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-07T12:17:06.000429+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2021-47044</id>
    <title>CVE-2021-47044 — sched/fair: Fix shift-out-of-bounds in load_balance()</title>
    <updated>2026-10-07T12:17:06.019004+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>sched/fair: Fix shift-out-of-bounds in load_balance()</p>
<p>Syzbot reported a handful of occurrences where an sd-&gt;nr_balance_failed can
grow to much higher values than one would expect.</p>
<p>A successful load_balance() resets it to 0; a failed one increments
it. Once it gets to sd-&gt;cache_nice_tries + 3, this *should* trigger an
active balance, which will either set it to sd-&gt;cache_nice_tries+1 or reset
it to 0. However, in case the to-be-active-balanced task is not allowed to
run on env-&gt;dst_cpu, then the increment is done without any further
modification.</p>
<p>This could then be repeated ad nauseam, and would explain the absurdly high
values reported by syzbot (86, 149). VincentG noted there is value in
letting sd-&gt;cache_nice_tries grow, so the shift itself should be
fixed. That means preventing:</p>
<p>"""
  If the value of the right operand is negative or is greater than or equal
  to the width of the promoted left operand, the behavior is undefined.
  """</p>
<p>Thus we need to cap the shift exponent to
  BITS_PER_TYPE(typeof(lefthand)) - 1.</p>
<p>I had a look around for other similar cases via coccinelle:</p>
<p>@expr@
  position pos;
  expression E1;
  expression E2;
  @@
  (
  E1 &gt;&gt; E2@pos
  |
  E1 &gt;&gt; E2@pos
  )</p>
<p>@cst depends on expr@
  position pos;
  expression expr.E1;
  constant cst;
  @@
  (
  E1 &gt;&gt; cst@pos
  |
  E1 &lt;&lt; cst@pos
  )</p>
<p>@script:python depends on !cst@
  pos &lt;&lt; expr.pos;
  exp &lt;&lt; expr.E2;
  @@
  # Dirty hack to…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2021-47044"/>
  </entry>
</feed>
